;--------------------------------------------------------
; File Created by SDCC : free open source ANSI-C Compiler
; Version 2.7.0 #4818 (May 31 2007)
; This file generated Mon Apr 30 18:27:06 2012
;--------------------------------------------------------
	.module tasks
	.optsdcc -mmcs51 --model-large
	
;--------------------------------------------------------
; Public variables in this module
;--------------------------------------------------------
	.globl _IRCON2_P2IF
	.globl _IRCON2_UTX0IF
	.globl _IRCON2_UTX1IF
	.globl _IRCON2_P1IF
	.globl _IRCON2_WDTIF
	.globl _CY
	.globl _AC
	.globl _F0
	.globl _RS1
	.globl _RS0
	.globl _OV
	.globl _F1
	.globl _P
	.globl _IRCON_DMAIF
	.globl _IRCON_T1IF
	.globl _IRCON_T2IF
	.globl _IRCON_T3IF
	.globl _IRCON_T4IF
	.globl _IRCON_P0IF
	.globl _IRCON_STIF
	.globl _IEN1_DMAIE
	.globl _IEN1_T1IE
	.globl _IEN1_T2IE
	.globl _IEN1_T3IE
	.globl _IEN1_T4IE
	.globl _IEN1_P0IE
	.globl _IEN0_RFERRIE
	.globl _IEN0_ADCIE
	.globl _IEN0_URX0IE
	.globl _IEN0_URX1IE
	.globl _IEN0_ENCIE
	.globl _IEN0_STIE
	.globl _IEN0_EA
	.globl _EA
	.globl _P2_4
	.globl _P2_3
	.globl _P2_2
	.globl _P2_1
	.globl _P2_0
	.globl _S0CON_ENCIF_0
	.globl _S0CON_ENCIF_1
	.globl _P1_7
	.globl _P1_6
	.globl _P1_5
	.globl _P1_4
	.globl _P1_3
	.globl _P1_2
	.globl _P1_1
	.globl _P1_0
	.globl _TCON_IT0
	.globl _TCON_RFERRIF
	.globl _TCON_IT1
	.globl _TCON_URX0IF
	.globl _TCON_ADCIF
	.globl _TCON_URX1IF
	.globl _P0_0
	.globl _P0_1
	.globl _P0_2
	.globl _P0_3
	.globl _P0_4
	.globl _P0_5
	.globl _P0_6
	.globl _P0_7
	.globl _P2DIR
	.globl _P1DIR
	.globl _P0DIR
	.globl _U1GCR
	.globl _U1UCR
	.globl _U1BAUD
	.globl _U1BUF
	.globl _U1CSR
	.globl _P2INP
	.globl _P1INP
	.globl _P2SEL
	.globl _P1SEL
	.globl _P0SEL
	.globl _ADCCFG
	.globl _PERCFG
	.globl _B
	.globl _T4CC1
	.globl _T4CCTL1
	.globl _T4CC0
	.globl _T4CCTL0
	.globl _T4CTL
	.globl _T4CNT
	.globl _RFIF
	.globl _IRCON2
	.globl _T1CCTL2
	.globl _T1CCTL1
	.globl _T1CCTL0
	.globl _T1CTL
	.globl _T1CNTH
	.globl _T1CNTL
	.globl _RFST
	.globl _ACC
	.globl _T1CC2H
	.globl _T1CC2L
	.globl _T1CC1H
	.globl _T1CC1L
	.globl _T1CC0H
	.globl _T1CC0L
	.globl _RFD
	.globl _TIMIF
	.globl _DMAREQ
	.globl _DMAARM
	.globl _DMA0CFGH
	.globl _DMA0CFGL
	.globl _DMA1CFGH
	.globl _DMA1CFGL
	.globl _DMAIRQ
	.globl _PSW
	.globl _T3CC1
	.globl _T3CCTL1
	.globl _T3CC0
	.globl _T3CCTL0
	.globl _T3CTL
	.globl _T3CNT
	.globl _WDCTL
	.globl _T2CON
	.globl _MEMCTR
	.globl _CLKCON
	.globl _U0GCR
	.globl _U0UCR
	.globl _T2CNF
	.globl _U0BAUD
	.globl _U0BUF
	.globl _IRCON
	.globl _SLEEP
	.globl _RNDH
	.globl _RNDL
	.globl _ADCH
	.globl _ADCL
	.globl _IP1
	.globl _IEN1
	.globl _RCCTL
	.globl _ADCCON3
	.globl _ADCCON2
	.globl _ADCCON1
	.globl _ENCCS
	.globl _ENCDO
	.globl _ENCDI
	.globl _FWDATA
	.globl _FCTL
	.globl _FADDRH
	.globl _FADDRL
	.globl _FWT
	.globl _IP0
	.globl _IEN0
	.globl _IE
	.globl _T2THD
	.globl _T2TLD
	.globl _T2CAPHPH
	.globl _T2CAPLPL
	.globl _T2OF2
	.globl _T2OF1
	.globl _T2OF0
	.globl _P2
	.globl _T2PEROF2
	.globl _T2PEROF1
	.globl _T2PEROF0
	.globl _S1CON
	.globl _IEN2
	.globl _HSRC
	.globl _S0CON
	.globl _ST2
	.globl _ST1
	.globl _ST0
	.globl _T2CMP
	.globl __XPAGE
	.globl _DPS
	.globl _RFIM
	.globl _P1
	.globl _P0INP
	.globl _P1IEN
	.globl _PICTL
	.globl _P2IFG
	.globl _P1IFG
	.globl _P0IFG
	.globl _TCON
	.globl _PCON
	.globl _U0CSR
	.globl _DPH1
	.globl _DPL1
	.globl _DPH0
	.globl _DPL0
	.globl _SP
	.globl _P0
	.globl _pxCurrentTCB
	.globl _RFD_SHADOW
	.globl _RFSTATUS
	.globl _CHIPID
	.globl _CHVER
	.globl _FSMTC1
	.globl _RXFIFOCNT
	.globl _IOCFG3
	.globl _IOCFG2
	.globl _IOCFG1
	.globl _IOCFG0
	.globl _SHORTADDRL
	.globl _SHORTADDRH
	.globl _PANIDL
	.globl _PANIDH
	.globl _IEEE_ADDR7
	.globl _IEEE_ADDR6
	.globl _IEEE_ADDR5
	.globl _IEEE_ADDR4
	.globl _IEEE_ADDR3
	.globl _IEEE_ADDR2
	.globl _IEEE_ADDR1
	.globl _IEEE_ADDR0
	.globl _DACTSTL
	.globl _DACTSTH
	.globl _ADCTSTL
	.globl _ADCTSTH
	.globl _FSMSTATE
	.globl _AGCCTRLL
	.globl _AGCCTRLH
	.globl _MANORL
	.globl _MANORH
	.globl _MANANDL
	.globl _MANANDH
	.globl _FSMTCL
	.globl _FSMTCH
	.globl _RFPWR
	.globl _CSPT
	.globl _CSPCTRL
	.globl _CSPZ
	.globl _CSPY
	.globl _CSPX
	.globl _FSCTRLL
	.globl _FSCTRLH
	.globl _RXCTRL1L
	.globl _RXCTRL1H
	.globl _RXCTRL0L
	.globl _RXCTRL0H
	.globl _TXCTRLL
	.globl _TXCTRLH
	.globl _SYNCWORDL
	.globl _SYNCWORDH
	.globl _RSSIL
	.globl _RSSIH
	.globl _MDMCTRL1L
	.globl _MDMCTRL1H
	.globl _MDMCTRL0L
	.globl _MDMCTRL0H
	.globl _xTaskCreate
	.globl _vTaskDelete
	.globl _vTaskDelayUntil
	.globl _vTaskDelay
	.globl _vTaskStartScheduler
	.globl _vTaskEndScheduler
	.globl _vTaskSuspendAll
	.globl _xTaskResumeAll
	.globl _xTaskGetTickCount
	.globl _uxTaskGetNumberOfTasks
	.globl _vTaskIncrementTick
	.globl _vTaskSwitchContext
	.globl _vTaskPlaceOnEventList
	.globl _xTaskRemoveFromEventList
;--------------------------------------------------------
; special function registers
;--------------------------------------------------------
	.area RSEG    (DATA)
_P0	=	0x0080
_SP	=	0x0081
_DPL0	=	0x0082
_DPH0	=	0x0083
_DPL1	=	0x0084
_DPH1	=	0x0085
_U0CSR	=	0x0086
_PCON	=	0x0087
_TCON	=	0x0088
_P0IFG	=	0x0089
_P1IFG	=	0x008a
_P2IFG	=	0x008b
_PICTL	=	0x008c
_P1IEN	=	0x008d
_P0INP	=	0x008f
_P1	=	0x0090
_RFIM	=	0x0091
_DPS	=	0x0092
__XPAGE	=	0x0093
_T2CMP	=	0x0094
_ST0	=	0x0095
_ST1	=	0x0096
_ST2	=	0x0097
_S0CON	=	0x0098
_HSRC	=	0x0099
_IEN2	=	0x009a
_S1CON	=	0x009b
_T2PEROF0	=	0x009c
_T2PEROF1	=	0x009d
_T2PEROF2	=	0x009e
_P2	=	0x00a0
_T2OF0	=	0x00a1
_T2OF1	=	0x00a2
_T2OF2	=	0x00a3
_T2CAPLPL	=	0x00a4
_T2CAPHPH	=	0x00a5
_T2TLD	=	0x00a6
_T2THD	=	0x00a7
_IE	=	0x00a8
_IEN0	=	0x00a8
_IP0	=	0x00a9
_FWT	=	0x00ab
_FADDRL	=	0x00ac
_FADDRH	=	0x00ad
_FCTL	=	0x00ae
_FWDATA	=	0x00af
_ENCDI	=	0x00b1
_ENCDO	=	0x00b2
_ENCCS	=	0x00b3
_ADCCON1	=	0x00b4
_ADCCON2	=	0x00b5
_ADCCON3	=	0x00b6
_RCCTL	=	0x00b7
_IEN1	=	0x00b8
_IP1	=	0x00b9
_ADCL	=	0x00ba
_ADCH	=	0x00bb
_RNDL	=	0x00bc
_RNDH	=	0x00bd
_SLEEP	=	0x00be
_IRCON	=	0x00c0
_U0BUF	=	0x00c1
_U0BAUD	=	0x00c2
_T2CNF	=	0x00c3
_U0UCR	=	0x00c4
_U0GCR	=	0x00c5
_CLKCON	=	0x00c6
_MEMCTR	=	0x00c7
_T2CON	=	0x00c8
_WDCTL	=	0x00c9
_T3CNT	=	0x00ca
_T3CTL	=	0x00cb
_T3CCTL0	=	0x00cc
_T3CC0	=	0x00cd
_T3CCTL1	=	0x00ce
_T3CC1	=	0x00cf
_PSW	=	0x00d0
_DMAIRQ	=	0x00d1
_DMA1CFGL	=	0x00d2
_DMA1CFGH	=	0x00d3
_DMA0CFGL	=	0x00d4
_DMA0CFGH	=	0x00d5
_DMAARM	=	0x00d6
_DMAREQ	=	0x00d7
_TIMIF	=	0x00d8
_RFD	=	0x00d9
_T1CC0L	=	0x00da
_T1CC0H	=	0x00db
_T1CC1L	=	0x00dc
_T1CC1H	=	0x00dd
_T1CC2L	=	0x00de
_T1CC2H	=	0x00df
_ACC	=	0x00e0
_RFST	=	0x00e1
_T1CNTL	=	0x00e2
_T1CNTH	=	0x00e3
_T1CTL	=	0x00e4
_T1CCTL0	=	0x00e5
_T1CCTL1	=	0x00e6
_T1CCTL2	=	0x00e7
_IRCON2	=	0x00e8
_RFIF	=	0x00e9
_T4CNT	=	0x00ea
_T4CTL	=	0x00eb
_T4CCTL0	=	0x00ec
_T4CC0	=	0x00ed
_T4CCTL1	=	0x00ee
_T4CC1	=	0x00ef
_B	=	0x00f0
_PERCFG	=	0x00f1
_ADCCFG	=	0x00f2
_P0SEL	=	0x00f3
_P1SEL	=	0x00f4
_P2SEL	=	0x00f5
_P1INP	=	0x00f6
_P2INP	=	0x00f7
_U1CSR	=	0x00f8
_U1BUF	=	0x00f9
_U1BAUD	=	0x00fa
_U1UCR	=	0x00fb
_U1GCR	=	0x00fc
_P0DIR	=	0x00fd
_P1DIR	=	0x00fe
_P2DIR	=	0x00ff
;--------------------------------------------------------
; special function bits
;--------------------------------------------------------
	.area RSEG    (DATA)
_P0_7	=	0x0087
_P0_6	=	0x0086
_P0_5	=	0x0085
_P0_4	=	0x0084
_P0_3	=	0x0083
_P0_2	=	0x0082
_P0_1	=	0x0081
_P0_0	=	0x0080
_TCON_URX1IF	=	0x008f
_TCON_ADCIF	=	0x008d
_TCON_URX0IF	=	0x008b
_TCON_IT1	=	0x008a
_TCON_RFERRIF	=	0x0089
_TCON_IT0	=	0x0088
_P1_0	=	0x0090
_P1_1	=	0x0091
_P1_2	=	0x0092
_P1_3	=	0x0093
_P1_4	=	0x0094
_P1_5	=	0x0095
_P1_6	=	0x0096
_P1_7	=	0x0097
_S0CON_ENCIF_1	=	0x0099
_S0CON_ENCIF_0	=	0x0098
_P2_0	=	0x00a0
_P2_1	=	0x00a1
_P2_2	=	0x00a2
_P2_3	=	0x00a3
_P2_4	=	0x00a4
_EA	=	0x00af
_IEN0_EA	=	0x00af
_IEN0_STIE	=	0x00ad
_IEN0_ENCIE	=	0x00ac
_IEN0_URX1IE	=	0x00ab
_IEN0_URX0IE	=	0x00aa
_IEN0_ADCIE	=	0x00a9
_IEN0_RFERRIE	=	0x00a8
_IEN1_P0IE	=	0x00bd
_IEN1_T4IE	=	0x00bc
_IEN1_T3IE	=	0x00bb
_IEN1_T2IE	=	0x00ba
_IEN1_T1IE	=	0x00b9
_IEN1_DMAIE	=	0x00b8
_IRCON_STIF	=	0x00c7
_IRCON_P0IF	=	0x00c5
_IRCON_T4IF	=	0x00c4
_IRCON_T3IF	=	0x00c3
_IRCON_T2IF	=	0x00c2
_IRCON_T1IF	=	0x00c1
_IRCON_DMAIF	=	0x00c0
_P	=	0x00d0
_F1	=	0x00d1
_OV	=	0x00d2
_RS0	=	0x00d3
_RS1	=	0x00d4
_F0	=	0x00d5
_AC	=	0x00d6
_CY	=	0x00d7
_IRCON2_WDTIF	=	0x00ec
_IRCON2_P1IF	=	0x00eb
_IRCON2_UTX1IF	=	0x00ea
_IRCON2_UTX0IF	=	0x00e9
_IRCON2_P2IF	=	0x00e8
;--------------------------------------------------------
; overlayable register banks
;--------------------------------------------------------
	.area REG_BANK_0	(REL,OVR,DATA)
	.ds 8
;--------------------------------------------------------
; internal ram data
;--------------------------------------------------------
	.area DSEG    (DATA)
;--------------------------------------------------------
; overlayable items in internal ram 
;--------------------------------------------------------
	.area OSEG    (OVR,DATA)
;--------------------------------------------------------
; indirectly addressable internal ram data
;--------------------------------------------------------
	.area ISEG    (DATA)
;--------------------------------------------------------
; absolute internal ram data
;--------------------------------------------------------
	.area IABS    (ABS,DATA)
	.area IABS    (ABS,DATA)
;--------------------------------------------------------
; bit data
;--------------------------------------------------------
	.area BSEG    (BIT)
;--------------------------------------------------------
; paged external ram data
;--------------------------------------------------------
	.area PSEG    (PAG,XDATA)
;--------------------------------------------------------
; external ram data
;--------------------------------------------------------
	.area XSEG    (XDATA)
_MDMCTRL0H	=	0xdf02
_MDMCTRL0L	=	0xdf03
_MDMCTRL1H	=	0xdf04
_MDMCTRL1L	=	0xdf05
_RSSIH	=	0xdf06
_RSSIL	=	0xdf07
_SYNCWORDH	=	0xdf08
_SYNCWORDL	=	0xdf09
_TXCTRLH	=	0xdf0a
_TXCTRLL	=	0xdf0b
_RXCTRL0H	=	0xdf0c
_RXCTRL0L	=	0xdf0d
_RXCTRL1H	=	0xdf0e
_RXCTRL1L	=	0xdf0f
_FSCTRLH	=	0xdf10
_FSCTRLL	=	0xdf11
_CSPX	=	0xdf12
_CSPY	=	0xdf13
_CSPZ	=	0xdf14
_CSPCTRL	=	0xdf15
_CSPT	=	0xdf16
_RFPWR	=	0xdf17
_FSMTCH	=	0xdf20
_FSMTCL	=	0xdf21
_MANANDH	=	0xdf22
_MANANDL	=	0xdf23
_MANORH	=	0xdf24
_MANORL	=	0xdf25
_AGCCTRLH	=	0xdf26
_AGCCTRLL	=	0xdf27
_FSMSTATE	=	0xdf39
_ADCTSTH	=	0xdf3a
_ADCTSTL	=	0xdf3b
_DACTSTH	=	0xdf3c
_DACTSTL	=	0xdf3d
_IEEE_ADDR0	=	0xdf43
_IEEE_ADDR1	=	0xdf44
_IEEE_ADDR2	=	0xdf45
_IEEE_ADDR3	=	0xdf46
_IEEE_ADDR4	=	0xdf47
_IEEE_ADDR5	=	0xdf48
_IEEE_ADDR6	=	0xdf49
_IEEE_ADDR7	=	0xdf4a
_PANIDH	=	0xdf4b
_PANIDL	=	0xdf4c
_SHORTADDRH	=	0xdf4d
_SHORTADDRL	=	0xdf4e
_IOCFG0	=	0xdf4f
_IOCFG1	=	0xdf50
_IOCFG2	=	0xdf51
_IOCFG3	=	0xdf52
_RXFIFOCNT	=	0xdf53
_FSMTC1	=	0xdf54
_CHVER	=	0xdf60
_CHIPID	=	0xdf61
_RFSTATUS	=	0xdf62
_RFD_SHADOW	=	0xdfd9
_pxReadyTasksLists:
	.ds 48
_xDelayedTaskList1:
	.ds 12
_xDelayedTaskList2:
	.ds 12
_pxDelayedTaskList:
	.ds 3
_pxOverflowDelayedTaskList:
	.ds 3
_xPendingReadyList:
	.ds 12
_xTasksWaitingTermination:
	.ds 12
_xTaskCreate_uxTaskNumber_1_1:
	.ds 1
;--------------------------------------------------------
; absolute external ram data
;--------------------------------------------------------
	.area XABS    (ABS,XDATA)
;--------------------------------------------------------
; external initialized ram data
;--------------------------------------------------------
	.area XISEG   (XDATA)
_pxCurrentTCB::
	.ds 3
_uxTasksDeleted:
	.ds 1
_uxCurrentNumberOfTasks:
	.ds 1
_xTickCount:
	.ds 2
_uxTopUsedPriority:
	.ds 1
_uxTopReadyPriority:
	.ds 1
_xSchedulerRunning:
	.ds 1
_uxSchedulerSuspended:
	.ds 1
_uxMissedTicks:
	.ds 1
_xMissedYield:
	.ds 1
	.area HOME    (CODE)
	.area GSINIT0 (CODE)
	.area GSINIT1 (CODE)
	.area GSINIT2 (CODE)
	.area GSINIT3 (CODE)
	.area GSINIT4 (CODE)
	.area GSINIT5 (CODE)
	.area GSINIT  (CODE)
	.area GSFINAL (CODE)
	.area CSEG    (CODE)
;--------------------------------------------------------
; global & static initialisations
;--------------------------------------------------------
	.area HOME    (CODE)
	.area GSINIT  (CODE)
	.area GSFINAL (CODE)
	.area GSINIT  (CODE)
;------------------------------------------------------------
;Allocation info for local variables in function 'xTaskCreate'
;------------------------------------------------------------
;pcName                    Allocated to stack - offset -5
;usStackDepth              Allocated to stack - offset -7
;pvParameters              Allocated to stack - offset -10
;uxPriority                Allocated to stack - offset -11
;pxCreatedTask             Allocated to stack - offset -14
;pvTaskCode                Allocated to stack - offset 1
;xReturn                   Allocated to registers r2 
;pxNewTCB                  Allocated to stack - offset 3
;pxTopOfStack              Allocated to registers r7 r2 r3 
;uxTaskNumber              Allocated with name '_xTaskCreate_uxTaskNumber_1_1'
;------------------------------------------------------------
;	../../FreeRTOS/Source/tasks.c:464: static unsigned portBASE_TYPE uxTaskNumber = 0; /*lint !e956 Static is deliberate - this is guarded before use. */
	mov	dptr,#_xTaskCreate_uxTaskNumber_1_1
	clr	a
	movx	@dptr,a
;--------------------------------------------------------
; Home
;--------------------------------------------------------
	.area HOME    (CODE)
	.area HOME    (CODE)
;--------------------------------------------------------
; code
;--------------------------------------------------------
	.area CSEG    (CODE)
;------------------------------------------------------------
;Allocation info for local variables in function 'xTaskCreate'
;------------------------------------------------------------
;pcName                    Allocated to stack - offset -5
;usStackDepth              Allocated to stack - offset -7
;pvParameters              Allocated to stack - offset -10
;uxPriority                Allocated to stack - offset -11
;pxCreatedTask             Allocated to stack - offset -14
;pvTaskCode                Allocated to stack - offset 1
;xReturn                   Allocated to registers r2 
;pxNewTCB                  Allocated to stack - offset 3
;pxTopOfStack              Allocated to registers r7 r2 r3 
;uxTaskNumber              Allocated with name '_xTaskCreate_uxTaskNumber_1_1'
;------------------------------------------------------------
;	../../FreeRTOS/Source/tasks.c:460: signed portBASE_TYPE xTaskCreate( pdTASK_CODE pvTaskCode, const signed portCHAR * const pcName, unsigned portSHORT usStackDepth, void *pvParameters, unsigned portBASE_TYPE uxPriority, xTaskHandle *pxCreatedTask )
;	-----------------------------------------
;	 function xTaskCreate
;	-----------------------------------------
_xTaskCreate:
	ar2 = 0x02
	ar3 = 0x03
	ar4 = 0x04
	ar5 = 0x05
	ar6 = 0x06
	ar7 = 0x07
	ar0 = 0x00
	ar1 = 0x01
	push	_bp
	mov	_bp,sp
	push	dpl
	push	dph
	inc	sp
	inc	sp
	inc	sp
;	../../FreeRTOS/Source/tasks.c:468: pxNewTCB = prvAllocateTCBAndStack( usStackDepth );
	mov	a,_bp
	add	a,#0xf9
	mov	r0,a
	mov	dpl,@r0
	inc	r0
	mov	dph,@r0
	lcall	_prvAllocateTCBAndStack
	mov	r4,dpl
	mov	r5,dph
	mov	r6,b
	mov	r0,_bp
	inc	r0
	inc	r0
	inc	r0
	mov	@r0,ar4
	inc	r0
	mov	@r0,ar5
	inc	r0
	mov	@r0,ar6
;	../../FreeRTOS/Source/tasks.c:470: if( pxNewTCB != NULL )
	mov	r0,_bp
	inc	r0
	inc	r0
	inc	r0
	cjne	@r0,#0x00,00135$
	inc	r0
	cjne	@r0,#0x00,00135$
	inc	r0
	cjne	@r0,#0x00,00135$
	ljmp	00113$
00135$:
;	../../FreeRTOS/Source/tasks.c:475: prvInitialiseTCBVariables( pxNewTCB, usStackDepth, pcName, uxPriority );
	mov	a,_bp
	add	a,#0xf5
	mov	r0,a
	mov	a,@r0
	push	acc
	mov	a,_bp
	add	a,#0xfb
	mov	r0,a
	mov	a,@r0
	push	acc
	inc	r0
	mov	a,@r0
	push	acc
	inc	r0
	mov	a,@r0
	push	acc
	mov	a,_bp
	add	a,#0xf9
	mov	r0,a
	mov	a,@r0
	push	acc
	inc	r0
	mov	a,@r0
	push	acc
	mov	r0,_bp
	inc	r0
	inc	r0
	inc	r0
	mov	dpl,@r0
	inc	r0
	mov	dph,@r0
	inc	r0
	mov	b,@r0
	lcall	_prvInitialiseTCBVariables
	mov	a,sp
	add	a,#0xfa
	mov	sp,a
;	../../FreeRTOS/Source/tasks.c:487: pxTopOfStack = pxNewTCB->pxStack;	
	mov	r0,_bp
	inc	r0
	inc	r0
	inc	r0
	mov	a,#0x20
	add	a,@r0
	mov	r7,a
	clr	a
	inc	r0
	addc	a,@r0
	mov	r2,a
	inc	r0
	mov	ar3,@r0
	mov	dpl,r7
	mov	dph,r2
	mov	b,r3
	lcall	__gptrget
	mov	r7,a
	inc	dptr
	lcall	__gptrget
	mov	r2,a
	inc	dptr
	lcall	__gptrget
	mov	r3,a
;	../../FreeRTOS/Source/tasks.c:495: pxNewTCB->pxTopOfStack = pxPortInitialiseStack( pxTopOfStack, pvTaskCode, pvParameters );
	mov	a,_bp
	add	a,#0xf6
	mov	r0,a
	mov	a,@r0
	push	acc
	inc	r0
	mov	a,@r0
	push	acc
	inc	r0
	mov	a,@r0
	push	acc
	mov	r0,_bp
	inc	r0
	mov	a,@r0
	push	acc
	inc	r0
	mov	a,@r0
	push	acc
	mov	dpl,r7
	mov	dph,r2
	mov	b,r3
	lcall	_pxPortInitialiseStack
	mov	r2,dpl
	mov	r3,dph
	mov	r7,b
	mov	a,sp
	add	a,#0xfb
	mov	sp,a
	mov	r0,_bp
	inc	r0
	inc	r0
	inc	r0
	mov	dpl,@r0
	inc	r0
	mov	dph,@r0
	inc	r0
	mov	b,@r0
	mov	a,r2
	lcall	__gptrput
	inc	dptr
	mov	a,r3
	lcall	__gptrput
	inc	dptr
	mov	a,r7
	lcall	__gptrput
;	../../FreeRTOS/Source/tasks.c:499: portENTER_CRITICAL();
	 push ACC push IE 
	clr	_EA
;	../../FreeRTOS/Source/tasks.c:501: uxCurrentNumberOfTasks++;
	mov	dptr,#_uxCurrentNumberOfTasks
	movx	a,@dptr
	add	a,#0x01
	movx	@dptr,a
;	../../FreeRTOS/Source/tasks.c:502: if( uxCurrentNumberOfTasks == ( unsigned portBASE_TYPE ) 1 )
	mov	dptr,#_uxCurrentNumberOfTasks
	movx	a,@dptr
	mov	r2,a
	cjne	r2,#0x01,00106$
;	../../FreeRTOS/Source/tasks.c:505: pxCurrentTCB =  pxNewTCB;
	mov	r0,_bp
	inc	r0
	inc	r0
	inc	r0
	mov	dptr,#_pxCurrentTCB
	mov	a,@r0
	movx	@dptr,a
	inc	r0
	inc	dptr
	mov	a,@r0
	movx	@dptr,a
	inc	r0
	inc	dptr
	mov	a,@r0
	movx	@dptr,a
;	../../FreeRTOS/Source/tasks.c:510: prvInitialiseTaskLists();
	lcall	_prvInitialiseTaskLists
	sjmp	00107$
00106$:
;	../../FreeRTOS/Source/tasks.c:517: if( xSchedulerRunning == pdFALSE )
	mov	dptr,#_xSchedulerRunning
	movx	a,@dptr
	mov	r2,a
	jnz	00107$
;	../../FreeRTOS/Source/tasks.c:519: if( pxCurrentTCB->uxPriority <= uxPriority )
	mov	dptr,#_pxCurrentTCB
	movx	a,@dptr
	mov	r2,a
	inc	dptr
	movx	a,@dptr
	mov	r3,a
	inc	dptr
	movx	a,@dptr
	mov	r7,a
	mov	a,#0x1F
	add	a,r2
	mov	r2,a
	clr	a
	addc	a,r3
	mov	r3,a
	mov	dpl,r2
	mov	dph,r3
	mov	b,r7
	lcall	__gptrget
	mov	r2,a
	mov	a,_bp
	add	a,#0xf5
	mov	r0,a
	clr	c
	mov	a,@r0
	subb	a,r2
	jc	00107$
;	../../FreeRTOS/Source/tasks.c:521: pxCurrentTCB = pxNewTCB;	
	mov	r0,_bp
	inc	r0
	inc	r0
	inc	r0
	mov	dptr,#_pxCurrentTCB
	mov	a,@r0
	movx	@dptr,a
	inc	r0
	inc	dptr
	mov	a,@r0
	movx	@dptr,a
	inc	r0
	inc	dptr
	mov	a,@r0
	movx	@dptr,a
00107$:
;	../../FreeRTOS/Source/tasks.c:528: if( pxNewTCB->uxPriority > uxTopUsedPriority )
	mov	r0,_bp
	inc	r0
	inc	r0
	inc	r0
	mov	a,#0x1F
	add	a,@r0
	mov	r2,a
	clr	a
	inc	r0
	addc	a,@r0
	mov	r3,a
	inc	r0
	mov	ar7,@r0
	mov	dpl,r2
	mov	dph,r3
	mov	b,r7
	lcall	__gptrget
	mov	r2,a
	mov	dptr,#_uxTopUsedPriority
	movx	a,@dptr
	mov	r3,a
	clr	c
	subb	a,r2
	jnc	00109$
;	../../FreeRTOS/Source/tasks.c:530: uxTopUsedPriority = pxNewTCB->uxPriority;
	mov	dptr,#_uxTopUsedPriority
	mov	a,r2
	movx	@dptr,a
00109$:
;	../../FreeRTOS/Source/tasks.c:534: pxNewTCB->uxTCBNumber = uxTaskNumber;
	mov	r0,_bp
	inc	r0
	inc	r0
	inc	r0
	mov	a,#0x23
	add	a,@r0
	mov	r3,a
	clr	a
	inc	r0
	addc	a,@r0
	mov	r7,a
	inc	r0
	mov	ar4,@r0
	mov	dptr,#_xTaskCreate_uxTaskNumber_1_1
	movx	a,@dptr
	mov	r5,a
	mov	dpl,r3
	mov	dph,r7
	mov	b,r4
	lcall	__gptrput
;	../../FreeRTOS/Source/tasks.c:535: uxTaskNumber++;
	mov	dptr,#_xTaskCreate_uxTaskNumber_1_1
	mov	a,r5
	inc	a
	movx	@dptr,a
;	../../FreeRTOS/Source/tasks.c:537: prvAddTaskToReadyQueue( pxNewTCB );
	mov	dptr,#_uxTopReadyPriority
	movx	a,@dptr
	mov	r3,a
	clr	c
	subb	a,r2
	jnc	00111$
	mov	dptr,#_uxTopReadyPriority
	mov	a,r2
	movx	@dptr,a
00111$:
	mov	r0,_bp
	inc	r0
	inc	r0
	inc	r0
	mov	a,#0x03
	add	a,@r0
	mov	r3,a
	clr	a
	inc	r0
	addc	a,@r0
	mov	r4,a
	inc	r0
	mov	ar5,@r0
	mov	a,r2
	mov	b,#0x0C
	mul	ab
	add	a,#_pxReadyTasksLists
	mov	r2,a
	clr	a
	addc	a,#(_pxReadyTasksLists >> 8)
	mov	r6,a
	mov	r7,#0x0
	push	ar3
	push	ar4
	push	ar5
	mov	dpl,r2
	mov	dph,r6
	mov	b,r7
	lcall	_vListInsertEnd
	dec	sp
	dec	sp
	dec	sp
;	../../FreeRTOS/Source/tasks.c:539: xReturn = pdPASS;
	mov	r2,#0x01
;	../../FreeRTOS/Source/tasks.c:541: portEXIT_CRITICAL();
	 pop ACC 
	anl	_ACC,#0x80
	mov	a,_ACC
	orl	_IE,a
	 pop ACC 
	sjmp	00114$
00113$:
;	../../FreeRTOS/Source/tasks.c:545: xReturn = errCOULD_NOT_ALLOCATE_REQUIRED_MEMORY;
	mov	r2,#0xFF
00114$:
;	../../FreeRTOS/Source/tasks.c:548: if( xReturn == pdPASS )
	cjne	r2,#0x01,00122$
;	../../FreeRTOS/Source/tasks.c:550: if( ( void * ) pxCreatedTask != NULL )
	mov	a,_bp
	add	a,#0xf2
	mov	r0,a
	mov	ar3,@r0
	inc	r0
	mov	ar4,@r0
	inc	r0
	mov	ar5,@r0
	cjne	r3,#0x00,00144$
	cjne	r4,#0x00,00144$
	cjne	r5,#0x00,00144$
	sjmp	00116$
00144$:
;	../../FreeRTOS/Source/tasks.c:555: *pxCreatedTask = ( xTaskHandle ) pxNewTCB;
	mov	dpl,r3
	mov	dph,r4
	mov	b,r5
	mov	r0,_bp
	inc	r0
	inc	r0
	inc	r0
	mov	a,@r0
	lcall	__gptrput
	inc	dptr
	inc	r0
	mov	a,@r0
	lcall	__gptrput
	inc	dptr
	inc	r0
	mov	a,@r0
	lcall	__gptrput
00116$:
;	../../FreeRTOS/Source/tasks.c:558: if( xSchedulerRunning != pdFALSE )
	mov	dptr,#_xSchedulerRunning
	movx	a,@dptr
	mov	r3,a
	jz	00122$
;	../../FreeRTOS/Source/tasks.c:562: if( pxCurrentTCB->uxPriority < uxPriority )
	mov	dptr,#_pxCurrentTCB
	movx	a,@dptr
	mov	r3,a
	inc	dptr
	movx	a,@dptr
	mov	r4,a
	inc	dptr
	movx	a,@dptr
	mov	r5,a
	mov	a,#0x1F
	add	a,r3
	mov	r3,a
	clr	a
	addc	a,r4
	mov	r4,a
	mov	dpl,r3
	mov	dph,r4
	mov	b,r5
	lcall	__gptrget
	mov	r3,a
	mov	a,_bp
	add	a,#0xf5
	mov	r0,a
	clr	c
	mov	a,r3
	subb	a,@r0
	jnc	00122$
;	../../FreeRTOS/Source/tasks.c:564: taskYIELD();
	lcall	_vPortYield
00122$:
;	../../FreeRTOS/Source/tasks.c:569: return xReturn;
	mov	dpl,r2
	mov	sp,_bp
	pop	_bp
	ret
;------------------------------------------------------------
;Allocation info for local variables in function 'vTaskDelete'
;------------------------------------------------------------
;pxTaskToDelete            Allocated to registers r2 r3 r4 
;pxTCB                     Allocated to stack - offset 1
;sloc0                     Allocated to stack - offset 4
;------------------------------------------------------------
;	../../FreeRTOS/Source/tasks.c:575: void vTaskDelete( xTaskHandle pxTaskToDelete )
;	-----------------------------------------
;	 function vTaskDelete
;	-----------------------------------------
_vTaskDelete:
	push	_bp
	mov	a,sp
	mov	_bp,a
	add	a,#0x06
	mov	sp,a
	mov	r2,dpl
	mov	r3,dph
	mov	r4,b
;	../../FreeRTOS/Source/tasks.c:579: taskENTER_CRITICAL();
	 push ACC push IE 
	clr	_EA
;	../../FreeRTOS/Source/tasks.c:583: if( pxTaskToDelete == pxCurrentTCB )
	mov	dptr,#_pxCurrentTCB
	movx	a,@dptr
	mov	r5,a
	inc	dptr
	movx	a,@dptr
	mov	r6,a
	inc	dptr
	movx	a,@dptr
	mov	r7,a
	mov	a,r2
	cjne	a,ar5,00102$
	mov	a,r3
	cjne	a,ar6,00102$
	mov	a,r4
	cjne	a,ar7,00102$
;	../../FreeRTOS/Source/tasks.c:585: pxTaskToDelete = NULL;
	mov	r2,#0x00
	mov	r3,#0x00
	mov	r4,#0x00
00102$:
;	../../FreeRTOS/Source/tasks.c:589: pxTCB = prvGetTCBFromHandle( pxTaskToDelete );
	clr	a
	cjne	r2,#0x00,00117$
	cjne	r3,#0x00,00117$
	cjne	r4,#0x00,00117$
	inc	a
00117$:
	mov	r5,a
	jz	00109$
	mov	dptr,#_pxCurrentTCB
	mov	r0,_bp
	inc	r0
	movx	a,@dptr
	mov	@r0,a
	inc	dptr
	movx	a,@dptr
	inc	r0
	mov	@r0,a
	inc	dptr
	movx	a,@dptr
	inc	r0
	mov	@r0,a
	sjmp	00110$
00109$:
	mov	r0,_bp
	inc	r0
	mov	@r0,ar2
	inc	r0
	mov	@r0,ar3
	inc	r0
	mov	@r0,ar4
00110$:
	push	ar5
	mov	r0,_bp
	inc	r0
	mov	ar2,@r0
	inc	r0
	mov	ar3,@r0
	inc	r0
	mov	ar4,@r0
;	../../FreeRTOS/Source/tasks.c:595: vListRemove( &( pxTCB->xGenericListItem ) );
	mov	a,#0x03
	add	a,r2
	mov	r6,a
	clr	a
	addc	a,r3
	mov	r7,a
	mov	ar5,r4
	mov	dpl,r6
	mov	dph,r7
	mov	b,r5
	push	ar2
	push	ar3
	push	ar4
	push	ar5
	lcall	_vListRemove
	pop	ar5
	pop	ar4
	pop	ar3
	pop	ar2
;	../../FreeRTOS/Source/tasks.c:598: if( pxTCB->xEventListItem.pvContainer )
	mov	a,_bp
	add	a,#0x04
	mov	r0,a
	mov	a,#0x11
	add	a,r2
	mov	@r0,a
	clr	a
	addc	a,r3
	inc	r0
	mov	@r0,a
	inc	r0
	mov	@r0,ar4
	mov	a,_bp
	add	a,#0x04
	mov	r0,a
	mov	a,#0x0B
	add	a,@r0
	mov	r5,a
	clr	a
	inc	r0
	addc	a,@r0
	mov	r6,a
	inc	r0
	mov	ar7,@r0
	mov	dpl,r5
	mov	dph,r6
	mov	b,r7
	lcall	__gptrget
	mov	r5,a
	inc	dptr
	lcall	__gptrget
	mov	r6,a
	inc	dptr
	lcall	__gptrget
	mov	r7,a
	mov	a,r5
	orl	a,r6
	orl	a,r7
	pop	ar5
	jz	00104$
;	../../FreeRTOS/Source/tasks.c:600: vListRemove( &( pxTCB->xEventListItem ) );
	mov	a,_bp
	add	a,#0x04
	mov	r0,a
	mov	dpl,@r0
	inc	r0
	mov	dph,@r0
	inc	r0
	mov	b,@r0
	push	ar2
	push	ar3
	push	ar4
	push	ar5
	lcall	_vListRemove
	pop	ar5
	pop	ar4
	pop	ar3
	pop	ar2
00104$:
;	../../FreeRTOS/Source/tasks.c:603: vListInsertEnd( ( xList * ) &xTasksWaitingTermination, &( pxTCB->xGenericListItem ) );
	mov	a,#0x03
	add	a,r2
	mov	r2,a
	clr	a
	addc	a,r3
	mov	r3,a
	push	ar5
	push	ar2
	push	ar3
	push	ar4
	mov	dptr,#_xTasksWaitingTermination
	mov	b,#0x00
	lcall	_vListInsertEnd
	dec	sp
	dec	sp
	dec	sp
	pop	ar5
;	../../FreeRTOS/Source/tasks.c:608: ++uxTasksDeleted;
	mov	dptr,#_uxTasksDeleted
	movx	a,@dptr
	add	a,#0x01
	movx	@dptr,a
;	../../FreeRTOS/Source/tasks.c:610: taskEXIT_CRITICAL();
	 pop ACC 
	anl	_ACC,#0x80
	mov	a,_ACC
	orl	_IE,a
	 pop ACC 
;	../../FreeRTOS/Source/tasks.c:613: if( ( void * ) pxTaskToDelete == NULL )
	mov	a,r5
	jz	00107$
;	../../FreeRTOS/Source/tasks.c:615: taskYIELD();
	lcall	_vPortYield
00107$:
	mov	sp,_bp
	pop	_bp
	ret
;------------------------------------------------------------
;Allocation info for local variables in function 'vTaskDelayUntil'
;------------------------------------------------------------
;xTimeIncrement            Allocated to stack - offset -4
;pxPreviousWakeTime        Allocated to stack - offset 1
;xTimeToWake               Allocated to registers r3 r2 
;xAlreadyYielded           Allocated to registers r2 
;xShouldDelay              Allocated to stack - offset 4
;------------------------------------------------------------
;	../../FreeRTOS/Source/tasks.c:632: void vTaskDelayUntil( portTickType *pxPreviousWakeTime, portTickType xTimeIncrement )
;	-----------------------------------------
;	 function vTaskDelayUntil
;	-----------------------------------------
_vTaskDelayUntil:
	push	_bp
	mov	_bp,sp
	push	dpl
	push	dph
	push	b
	inc	sp
;	../../FreeRTOS/Source/tasks.c:635: portBASE_TYPE xAlreadyYielded, xShouldDelay = pdFALSE;
	mov	a,_bp
	add	a,#0x04
	mov	r0,a
	mov	@r0,#0x00
;	../../FreeRTOS/Source/tasks.c:637: vTaskSuspendAll();
	lcall	_vTaskSuspendAll
;	../../FreeRTOS/Source/tasks.c:640: xTimeToWake = *pxPreviousWakeTime + xTimeIncrement;
	mov	r0,_bp
	inc	r0
	mov	dpl,@r0
	inc	r0
	mov	dph,@r0
	inc	r0
	mov	b,@r0
	lcall	__gptrget
	mov	r6,a
	inc	dptr
	lcall	__gptrget
	mov	r7,a
	mov	a,_bp
	add	a,#0xfc
	mov	r0,a
	mov	a,@r0
	add	a,r6
	mov	r5,a
	inc	r0
	mov	a,@r0
	addc	a,r7
	mov	r2,a
	mov	ar3,r5
;	../../FreeRTOS/Source/tasks.c:642: if( xTickCount < *pxPreviousWakeTime )
	mov	dptr,#_xTickCount
	movx	a,@dptr
	mov	r4,a
	inc	dptr
	movx	a,@dptr
	mov	r5,a
	clr	c
	mov	a,r4
	subb	a,r6
	mov	a,r5
	subb	a,r7
	jnc	00108$
;	../../FreeRTOS/Source/tasks.c:649: if( ( xTimeToWake < *pxPreviousWakeTime ) && ( xTimeToWake > xTickCount ) )
	clr	c
	mov	a,r3
	subb	a,r6
	mov	a,r2
	subb	a,r7
	jnc	00109$
	mov	dptr,#_xTickCount
	movx	a,@dptr
	mov	r4,a
	inc	dptr
	movx	a,@dptr
	mov	r5,a
	clr	c
	mov	a,r4
	subb	a,r3
	mov	a,r5
	subb	a,r2
	jnc	00109$
;	../../FreeRTOS/Source/tasks.c:651: xShouldDelay = pdTRUE;
	mov	a,_bp
	add	a,#0x04
	mov	r0,a
	mov	@r0,#0x01
	sjmp	00109$
00108$:
;	../../FreeRTOS/Source/tasks.c:659: if( ( xTimeToWake < *pxPreviousWakeTime ) || ( xTimeToWake > xTickCount ) )
	clr	c
	mov	a,r3
	subb	a,r6
	mov	a,r2
	subb	a,r7
	jc	00104$
	mov	dptr,#_xTickCount
	movx	a,@dptr
	mov	r4,a
	inc	dptr
	movx	a,@dptr
	mov	r5,a
	clr	c
	mov	a,r4
	subb	a,r3
	mov	a,r5
	subb	a,r2
	jnc	00109$
00104$:
;	../../FreeRTOS/Source/tasks.c:661: xShouldDelay = pdTRUE;
	mov	a,_bp
	add	a,#0x04
	mov	r0,a
	mov	@r0,#0x01
00109$:
;	../../FreeRTOS/Source/tasks.c:666: *pxPreviousWakeTime = xTimeToWake;
	mov	r0,_bp
	inc	r0
	mov	dpl,@r0
	inc	r0
	mov	dph,@r0
	inc	r0
	mov	b,@r0
	mov	a,r3
	lcall	__gptrput
	inc	dptr
	mov	a,r2
	lcall	__gptrput
;	../../FreeRTOS/Source/tasks.c:668: if( xShouldDelay )
	mov	a,_bp
	add	a,#0x04
	mov	r0,a
	mov	a,@r0
	jnz	00131$
	ljmp	00114$
00131$:
;	../../FreeRTOS/Source/tasks.c:673: vListRemove( ( xListItem * ) &( pxCurrentTCB->xGenericListItem ) );
	mov	dptr,#_pxCurrentTCB
	movx	a,@dptr
	mov	r4,a
	inc	dptr
	movx	a,@dptr
	mov	r5,a
	inc	dptr
	movx	a,@dptr
	mov	r6,a
	mov	a,#0x03
	add	a,r4
	mov	r4,a
	clr	a
	addc	a,r5
	mov	r5,a
	mov	dpl,r4
	mov	dph,r5
	mov	b,r6
	push	ar2
	push	ar3
	lcall	_vListRemove
	pop	ar3
	pop	ar2
;	../../FreeRTOS/Source/tasks.c:676: listSET_LIST_ITEM_VALUE( &( pxCurrentTCB->xGenericListItem ), xTimeToWake );
	mov	dptr,#_pxCurrentTCB
	movx	a,@dptr
	mov	r4,a
	inc	dptr
	movx	a,@dptr
	mov	r5,a
	inc	dptr
	movx	a,@dptr
	mov	r6,a
	mov	a,#0x03
	add	a,r4
	mov	r4,a
	clr	a
	addc	a,r5
	mov	r5,a
	mov	dpl,r4
	mov	dph,r5
	mov	b,r6
	mov	a,r3
	lcall	__gptrput
	inc	dptr
	mov	a,r2
	lcall	__gptrput
;	../../FreeRTOS/Source/tasks.c:678: if( xTimeToWake < xTickCount )
	mov	dptr,#_xTickCount
	movx	a,@dptr
	mov	r4,a
	inc	dptr
	movx	a,@dptr
	mov	r5,a
	clr	c
	mov	a,r3
	subb	a,r4
	mov	a,r2
	subb	a,r5
	jnc	00111$
;	../../FreeRTOS/Source/tasks.c:682: vListInsert( ( xList * ) pxOverflowDelayedTaskList, ( xListItem * ) &( pxCurrentTCB->xGenericListItem ) );
	mov	dptr,#_pxCurrentTCB
	movx	a,@dptr
	mov	r2,a
	inc	dptr
	movx	a,@dptr
	mov	r3,a
	inc	dptr
	movx	a,@dptr
	mov	r4,a
	mov	a,#0x03
	add	a,r2
	mov	r2,a
	clr	a
	addc	a,r3
	mov	r3,a
	mov	dptr,#_pxOverflowDelayedTaskList
	movx	a,@dptr
	mov	r5,a
	inc	dptr
	movx	a,@dptr
	mov	r6,a
	inc	dptr
	movx	a,@dptr
	mov	r7,a
	push	ar2
	push	ar3
	push	ar4
	mov	dpl,r5
	mov	dph,r6
	mov	b,r7
	lcall	_vListInsert
	dec	sp
	dec	sp
	dec	sp
	sjmp	00114$
00111$:
;	../../FreeRTOS/Source/tasks.c:688: vListInsert( ( xList * ) pxDelayedTaskList, ( xListItem * ) &( pxCurrentTCB->xGenericListItem ) );
	mov	dptr,#_pxCurrentTCB
	movx	a,@dptr
	mov	r2,a
	inc	dptr
	movx	a,@dptr
	mov	r3,a
	inc	dptr
	movx	a,@dptr
	mov	r4,a
	mov	a,#0x03
	add	a,r2
	mov	r2,a
	clr	a
	addc	a,r3
	mov	r3,a
	mov	dptr,#_pxDelayedTaskList
	movx	a,@dptr
	mov	r5,a
	inc	dptr
	movx	a,@dptr
	mov	r6,a
	inc	dptr
	movx	a,@dptr
	mov	r7,a
	push	ar2
	push	ar3
	push	ar4
	mov	dpl,r5
	mov	dph,r6
	mov	b,r7
	lcall	_vListInsert
	dec	sp
	dec	sp
	dec	sp
00114$:
;	../../FreeRTOS/Source/tasks.c:692: xAlreadyYielded = xTaskResumeAll();
	lcall	_xTaskResumeAll
;	../../FreeRTOS/Source/tasks.c:696: if( !xAlreadyYielded )
	mov	a,dpl
	mov	r2,a
	jnz	00117$
;	../../FreeRTOS/Source/tasks.c:698: taskYIELD();
	lcall	_vPortYield
00117$:
	mov	sp,_bp
	pop	_bp
	ret
;------------------------------------------------------------
;Allocation info for local variables in function 'vTaskDelay'
;------------------------------------------------------------
;xTicksToDelay             Allocated to registers r2 r3 
;xTimeToWake               Allocated to registers r2 r3 
;xAlreadyYielded           Allocated to registers r4 
;sloc0                     Allocated to stack - offset 6
;------------------------------------------------------------
;	../../FreeRTOS/Source/tasks.c:707: void vTaskDelay( portTickType xTicksToDelay )
;	-----------------------------------------
;	 function vTaskDelay
;	-----------------------------------------
_vTaskDelay:
	mov	r2,dpl
	mov	r3,dph
;	../../FreeRTOS/Source/tasks.c:710: signed portBASE_TYPE xAlreadyYielded = pdFALSE;
	mov	r4,#0x00
;	../../FreeRTOS/Source/tasks.c:713: if( xTicksToDelay > ( portTickType ) 0 )
	mov	a,r2
	orl	a,r3
	jnz	00113$
	ljmp	00105$
00113$:
;	../../FreeRTOS/Source/tasks.c:715: vTaskSuspendAll();
	push	ar2
	push	ar3
	lcall	_vTaskSuspendAll
	pop	ar3
	pop	ar2
;	../../FreeRTOS/Source/tasks.c:727: xTimeToWake = xTickCount + xTicksToDelay;
	mov	dptr,#_xTickCount
	movx	a,@dptr
	mov	r5,a
	inc	dptr
	movx	a,@dptr
	mov	r6,a
	mov	a,r2
	add	a,r5
	mov	r2,a
	mov	a,r3
	addc	a,r6
	mov	r3,a
;	../../FreeRTOS/Source/tasks.c:732: vListRemove( ( xListItem * ) &( pxCurrentTCB->xGenericListItem ) );
	mov	dptr,#_pxCurrentTCB
	movx	a,@dptr
	mov	r5,a
	inc	dptr
	movx	a,@dptr
	mov	r6,a
	inc	dptr
	movx	a,@dptr
	mov	r7,a
	mov	a,#0x03
	add	a,r5
	mov	r5,a
	clr	a
	addc	a,r6
	mov	r6,a
	mov	dpl,r5
	mov	dph,r6
	mov	b,r7
	push	ar2
	push	ar3
	lcall	_vListRemove
	pop	ar3
	pop	ar2
;	../../FreeRTOS/Source/tasks.c:735: listSET_LIST_ITEM_VALUE( &( pxCurrentTCB->xGenericListItem ), xTimeToWake );
	mov	dptr,#_pxCurrentTCB
	movx	a,@dptr
	mov	r5,a
	inc	dptr
	movx	a,@dptr
	mov	r6,a
	inc	dptr
	movx	a,@dptr
	mov	r7,a
	mov	a,#0x03
	add	a,r5
	mov	r5,a
	clr	a
	addc	a,r6
	mov	r6,a
	mov	dpl,r5
	mov	dph,r6
	mov	b,r7
	mov	a,r2
	lcall	__gptrput
	inc	dptr
	mov	a,r3
	lcall	__gptrput
;	../../FreeRTOS/Source/tasks.c:737: if( xTimeToWake < xTickCount )
	mov	dptr,#_xTickCount
	movx	a,@dptr
	mov	r5,a
	inc	dptr
	movx	a,@dptr
	mov	r6,a
	clr	c
	mov	a,r2
	subb	a,r5
	mov	a,r3
	subb	a,r6
	jnc	00102$
;	../../FreeRTOS/Source/tasks.c:741: vListInsert( ( xList * ) pxOverflowDelayedTaskList, ( xListItem * ) &( pxCurrentTCB->xGenericListItem ) );
	mov	dptr,#_pxCurrentTCB
	movx	a,@dptr
	mov	r2,a
	inc	dptr
	movx	a,@dptr
	mov	r3,a
	inc	dptr
	movx	a,@dptr
	mov	r5,a
	mov	a,#0x03
	add	a,r2
	mov	r4,a
	clr	a
	addc	a,r3
	mov	r3,a
	mov	dptr,#_pxOverflowDelayedTaskList
	movx	a,@dptr
	mov	r6,a
	inc	dptr
	movx	a,@dptr
	mov	r7,a
	inc	dptr
	movx	a,@dptr
	mov	r2,a
	push	ar4
	push	ar3
	push	ar5
	mov	dpl,r6
	mov	dph,r7
	mov	b,r2
	lcall	_vListInsert
	dec	sp
	dec	sp
	dec	sp
	sjmp	00103$
00102$:
;	../../FreeRTOS/Source/tasks.c:747: vListInsert( ( xList * ) pxDelayedTaskList, ( xListItem * ) &( pxCurrentTCB->xGenericListItem ) );
	mov	dptr,#_pxCurrentTCB
	movx	a,@dptr
	mov	r2,a
	inc	dptr
	movx	a,@dptr
	mov	r3,a
	inc	dptr
	movx	a,@dptr
	mov	r5,a
	mov	a,#0x03
	add	a,r2
	mov	r4,a
	clr	a
	addc	a,r3
	mov	r3,a
	mov	dptr,#_pxDelayedTaskList
	movx	a,@dptr
	mov	r6,a
	inc	dptr
	movx	a,@dptr
	mov	r7,a
	inc	dptr
	movx	a,@dptr
	mov	r2,a
	push	ar4
	push	ar3
	push	ar5
	mov	dpl,r6
	mov	dph,r7
	mov	b,r2
	lcall	_vListInsert
	dec	sp
	dec	sp
	dec	sp
00103$:
;	../../FreeRTOS/Source/tasks.c:750: xAlreadyYielded = xTaskResumeAll();
	lcall	_xTaskResumeAll
	mov	r2,dpl
	mov	ar4,r2
00105$:
;	../../FreeRTOS/Source/tasks.c:755: if( !xAlreadyYielded )
	mov	a,r4
	jnz	00108$
;	../../FreeRTOS/Source/tasks.c:757: taskYIELD();
	ljmp	_vPortYield
00108$:
	ret
;------------------------------------------------------------
;Allocation info for local variables in function 'vTaskStartScheduler'
;------------------------------------------------------------
;xReturn                   Allocated to registers r2 
;------------------------------------------------------------
;	../../FreeRTOS/Source/tasks.c:937: void vTaskStartScheduler( void )
;	-----------------------------------------
;	 function vTaskStartScheduler
;	-----------------------------------------
_vTaskStartScheduler:
;	../../FreeRTOS/Source/tasks.c:942: xReturn = xTaskCreate( prvIdleTask, ( signed portCHAR * ) "IDLE", tskIDLE_STACK_SIZE, ( void * ) NULL, tskIDLE_PRIORITY, ( xTaskHandle * ) NULL );
	clr	a
	push	acc
	push	acc
	push	acc
	clr	a
	push	acc
	clr	a
	push	acc
	push	acc
	push	acc
	mov	a,#0x50
	push	acc
	clr	a
	push	acc
	mov	a,#__str_0
	push	acc
	mov	a,#(__str_0 >> 8)
	push	acc
	mov	a,#0x80
	push	acc
	mov	dptr,#_prvIdleTask
	lcall	_xTaskCreate
	mov	r2,dpl
	mov	a,sp
	add	a,#0xf4
	mov	sp,a
;	../../FreeRTOS/Source/tasks.c:944: if( xReturn == pdPASS )
	cjne	r2,#0x01,00105$
;	../../FreeRTOS/Source/tasks.c:954: portDISABLE_INTERRUPTS();
	clr	_EA
;	../../FreeRTOS/Source/tasks.c:956: xSchedulerRunning = pdTRUE;
	mov	dptr,#_xSchedulerRunning
	mov	a,#0x01
	movx	@dptr,a
;	../../FreeRTOS/Source/tasks.c:957: xTickCount = ( portTickType ) 0;
	mov	dptr,#_xTickCount
	clr	a
	movx	@dptr,a
	inc	dptr
	movx	@dptr,a
;	../../FreeRTOS/Source/tasks.c:961: if( xPortStartScheduler() )
	ljmp	_xPortStartScheduler
00105$:
	ret
;------------------------------------------------------------
;Allocation info for local variables in function 'vTaskEndScheduler'
;------------------------------------------------------------
;------------------------------------------------------------
;	../../FreeRTOS/Source/tasks.c:974: void vTaskEndScheduler( void )
;	-----------------------------------------
;	 function vTaskEndScheduler
;	-----------------------------------------
_vTaskEndScheduler:
;	../../FreeRTOS/Source/tasks.c:979: portDISABLE_INTERRUPTS();
	clr	_EA
;	../../FreeRTOS/Source/tasks.c:980: xSchedulerRunning = pdFALSE;
	mov	dptr,#_xSchedulerRunning
	clr	a
	movx	@dptr,a
;	../../FreeRTOS/Source/tasks.c:981: vPortEndScheduler();
	ljmp	_vPortEndScheduler
;------------------------------------------------------------
;Allocation info for local variables in function 'vTaskSuspendAll'
;------------------------------------------------------------
;------------------------------------------------------------
;	../../FreeRTOS/Source/tasks.c:985: void vTaskSuspendAll( void )
;	-----------------------------------------
;	 function vTaskSuspendAll
;	-----------------------------------------
_vTaskSuspendAll:
;	../../FreeRTOS/Source/tasks.c:987: portENTER_CRITICAL();
	 push ACC push IE 
	clr	_EA
;	../../FreeRTOS/Source/tasks.c:988: ++uxSchedulerSuspended;
	mov	dptr,#_uxSchedulerSuspended
	movx	a,@dptr
	add	a,#0x01
	movx	@dptr,a
;	../../FreeRTOS/Source/tasks.c:989: portEXIT_CRITICAL();
	 pop ACC 
	anl	_ACC,#0x80
	mov	a,_ACC
	orl	_IE,a
	 pop ACC 
	ret
;------------------------------------------------------------
;Allocation info for local variables in function 'xTaskResumeAll'
;------------------------------------------------------------
;pxTCB                     Allocated to registers r7 r3 r2 
;xAlreadyYielded           Allocated to stack - offset 1
;xYieldRequired            Allocated to stack - offset 2
;sloc0                     Allocated to stack - offset 3
;sloc1                     Allocated to stack - offset 4
;------------------------------------------------------------
;	../../FreeRTOS/Source/tasks.c:993: signed portBASE_TYPE xTaskResumeAll( void )
;	-----------------------------------------
;	 function xTaskResumeAll
;	-----------------------------------------
_xTaskResumeAll:
	push	_bp
	mov	a,sp
	mov	_bp,a
	add	a,#0x06
	mov	sp,a
;	../../FreeRTOS/Source/tasks.c:996: signed portBASE_TYPE xAlreadyYielded = pdFALSE;
	mov	r0,_bp
	inc	r0
	mov	@r0,#0x00
;	../../FreeRTOS/Source/tasks.c:1003: portENTER_CRITICAL();
	 push ACC push IE 
	clr	_EA
;	../../FreeRTOS/Source/tasks.c:1005: --uxSchedulerSuspended;
	mov	dptr,#_uxSchedulerSuspended
	movx	a,@dptr
	dec	a
	mov	dptr,#_uxSchedulerSuspended
	movx	@dptr,a
;	../../FreeRTOS/Source/tasks.c:1007: if( uxSchedulerSuspended == ( unsigned portBASE_TYPE ) pdFALSE )
	mov	dptr,#_uxSchedulerSuspended
	movx	a,@dptr
	mov	r3,a
	jz	00134$
	ljmp	00119$
00134$:
;	../../FreeRTOS/Source/tasks.c:1009: if( uxCurrentNumberOfTasks > ( unsigned portBASE_TYPE ) 0 )
	mov	dptr,#_uxCurrentNumberOfTasks
	movx	a,@dptr
	mov	r3,a
	jnz	00135$
	ljmp	00119$
00135$:
;	../../FreeRTOS/Source/tasks.c:1011: portBASE_TYPE xYieldRequired = pdFALSE;
	mov	r0,_bp
	inc	r0
	inc	r0
	mov	@r0,#0x00
;	../../FreeRTOS/Source/tasks.c:1015: while( ( pxTCB = ( tskTCB * ) listGET_OWNER_OF_HEAD_ENTRY(  ( ( xList * ) &xPendingReadyList ) ) ) != NULL )
00105$:
	mov	dptr,#_xPendingReadyList
	movx	a,@dptr
	mov	r4,a
	clr	a
	cjne	r4,#0x00,00136$
	inc	a
00136$:
	mov	r4,a
	cjne	a,#0x01,00138$
00138$:
	clr	a
	rlc	a
	mov	r4,a
	jz	00122$
	mov	dptr,#(_xPendingReadyList + 0x0006)
	mov	b,#0x00
	lcall	__gptrget
	mov	r4,a
	inc	dptr
	lcall	__gptrget
	mov	r5,a
	inc	dptr
	lcall	__gptrget
	mov	r6,a
	mov	a,#0x08
	add	a,r4
	mov	r4,a
	clr	a
	addc	a,r5
	mov	r5,a
	mov	dpl,r4
	mov	dph,r5
	mov	b,r6
	lcall	__gptrget
	mov	r4,a
	inc	dptr
	lcall	__gptrget
	mov	r5,a
	inc	dptr
	lcall	__gptrget
	mov	r6,a
	sjmp	00123$
00122$:
	mov	r4,#0x00
	mov	r5,#0x00
	mov	r6,#0x00
00123$:
	mov	ar7,r4
	mov	ar3,r5
	mov	ar2,r6
	cjne	r4,#0x00,00140$
	cjne	r5,#0x00,00140$
	cjne	r6,#0x00,00140$
	ljmp	00107$
00140$:
;	../../FreeRTOS/Source/tasks.c:1017: vListRemove( &( pxTCB->xEventListItem ) );
	mov	a,#0x11
	add	a,r7
	mov	r4,a
	clr	a
	addc	a,r3
	mov	r5,a
	mov	ar6,r2
	mov	dpl,r4
	mov	dph,r5
	mov	b,r6
	push	ar2
	push	ar3
	push	ar7
	lcall	_vListRemove
	pop	ar7
	pop	ar3
	pop	ar2
;	../../FreeRTOS/Source/tasks.c:1018: vListRemove( &( pxTCB->xGenericListItem ) );
	mov	a,#0x03
	add	a,r7
	mov	r4,a
	clr	a
	addc	a,r3
	mov	r5,a
	mov	ar6,r2
	mov	dpl,r4
	mov	dph,r5
	mov	b,r6
	push	ar2
	push	ar3
	push	ar7
	lcall	_vListRemove
	pop	ar7
	pop	ar3
	pop	ar2
;	../../FreeRTOS/Source/tasks.c:1019: prvAddTaskToReadyQueue( pxTCB );
	mov	a,#0x1F
	add	a,r7
	mov	r4,a
	clr	a
	addc	a,r3
	mov	r5,a
	mov	ar6,r2
	mov	dpl,r4
	mov	dph,r5
	mov	b,r6
	mov	r0,_bp
	inc	r0
	inc	r0
	inc	r0
	lcall	__gptrget
	mov	@r0,a
	push	ar7
	push	ar3
	push	ar2
	mov	dptr,#_uxTopReadyPriority
	movx	a,@dptr
	mov	r2,a
	mov	r0,_bp
	inc	r0
	inc	r0
	inc	r0
	clr	c
	mov	a,r2
	subb	a,@r0
	clr	a
	rlc	a
	pop	ar2
	pop	ar3
	pop	ar7
	jz	00102$
	mov	r0,_bp
	inc	r0
	inc	r0
	inc	r0
	mov	dptr,#_uxTopReadyPriority
	mov	a,@r0
	movx	@dptr,a
00102$:
	mov	a,_bp
	add	a,#0x04
	mov	r0,a
	mov	a,#0x03
	add	a,r7
	mov	@r0,a
	clr	a
	addc	a,r3
	inc	r0
	mov	@r0,a
	inc	r0
	mov	@r0,ar2
	mov	dpl,r4
	mov	dph,r5
	mov	b,r6
	lcall	__gptrget
	mov	b,#0x0C
	mul	ab
	add	a,#_pxReadyTasksLists
	mov	r2,a
	clr	a
	addc	a,#(_pxReadyTasksLists >> 8)
	mov	r3,a
	mov	r7,#0x0
	push	ar4
	push	ar5
	push	ar6
	mov	a,_bp
	add	a,#0x04
	mov	r0,a
	mov	a,@r0
	push	acc
	inc	r0
	mov	a,@r0
	push	acc
	inc	r0
	mov	a,@r0
	push	acc
	mov	dpl,r2
	mov	dph,r3
	mov	b,r7
	lcall	_vListInsertEnd
	dec	sp
	dec	sp
	dec	sp
	pop	ar6
	pop	ar5
	pop	ar4
;	../../FreeRTOS/Source/tasks.c:1023: if( pxTCB->uxPriority >= pxCurrentTCB->uxPriority )
	mov	dpl,r4
	mov	dph,r5
	mov	b,r6
	lcall	__gptrget
	mov	r4,a
	mov	dptr,#_pxCurrentTCB
	movx	a,@dptr
	mov	r2,a
	inc	dptr
	movx	a,@dptr
	mov	r3,a
	inc	dptr
	movx	a,@dptr
	mov	r5,a
	mov	a,#0x1F
	add	a,r2
	mov	r2,a
	clr	a
	addc	a,r3
	mov	r3,a
	mov	dpl,r2
	mov	dph,r3
	mov	b,r5
	lcall	__gptrget
	mov	r2,a
	clr	c
	mov	a,r4
	subb	a,r2
	jnc	00142$
	ljmp	00105$
00142$:
;	../../FreeRTOS/Source/tasks.c:1025: xYieldRequired = pdTRUE;
	mov	r0,_bp
	inc	r0
	inc	r0
	mov	@r0,#0x01
	ljmp	00105$
00107$:
;	../../FreeRTOS/Source/tasks.c:1032: if( uxMissedTicks > ( unsigned portBASE_TYPE ) 0 )
	mov	dptr,#_uxMissedTicks
	movx	a,@dptr
	mov	r2,a
	jz	00112$
;	../../FreeRTOS/Source/tasks.c:1034: while( uxMissedTicks > ( unsigned portBASE_TYPE ) 0 )
00108$:
	mov	dptr,#_uxMissedTicks
	movx	a,@dptr
	mov	r2,a
	jz	00110$
;	../../FreeRTOS/Source/tasks.c:1036: vTaskIncrementTick();
	lcall	_vTaskIncrementTick
;	../../FreeRTOS/Source/tasks.c:1037: --uxMissedTicks;
	mov	dptr,#_uxMissedTicks
	movx	a,@dptr
	dec	a
	mov	dptr,#_uxMissedTicks
	movx	@dptr,a
	sjmp	00108$
00110$:
;	../../FreeRTOS/Source/tasks.c:1043: xYieldRequired = pdTRUE;
	mov	r0,_bp
	inc	r0
	inc	r0
	mov	@r0,#0x01
00112$:
;	../../FreeRTOS/Source/tasks.c:1046: if( ( xYieldRequired == pdTRUE ) || ( xMissedYield == pdTRUE ) )
	mov	r0,_bp
	inc	r0
	inc	r0
	cjne	@r0,#0x01,00145$
	sjmp	00113$
00145$:
	mov	dptr,#_xMissedYield
	movx	a,@dptr
	mov	r2,a
	cjne	r2,#0x01,00119$
00113$:
;	../../FreeRTOS/Source/tasks.c:1048: xAlreadyYielded = pdTRUE;
	mov	r0,_bp
	inc	r0
	mov	@r0,#0x01
;	../../FreeRTOS/Source/tasks.c:1049: xMissedYield = pdFALSE;
	mov	dptr,#_xMissedYield
	clr	a
	movx	@dptr,a
;	../../FreeRTOS/Source/tasks.c:1050: taskYIELD();
	lcall	_vPortYield
00119$:
;	../../FreeRTOS/Source/tasks.c:1055: portEXIT_CRITICAL();
	 pop ACC 
	anl	_ACC,#0x80
	mov	a,_ACC
	orl	_IE,a
	 pop ACC 
;	../../FreeRTOS/Source/tasks.c:1057: return xAlreadyYielded;
	mov	r0,_bp
	inc	r0
	mov	dpl,@r0
	mov	sp,_bp
	pop	_bp
	ret
;------------------------------------------------------------
;Allocation info for local variables in function 'xTaskGetTickCount'
;------------------------------------------------------------
;xTicks                    Allocated to registers r2 r3 
;------------------------------------------------------------
;	../../FreeRTOS/Source/tasks.c:1071: portTickType xTaskGetTickCount( void )
;	-----------------------------------------
;	 function xTaskGetTickCount
;	-----------------------------------------
_xTaskGetTickCount:
;	../../FreeRTOS/Source/tasks.c:1076: taskENTER_CRITICAL();
	 push ACC push IE 
	clr	_EA
;	../../FreeRTOS/Source/tasks.c:1078: xTicks = xTickCount;
	mov	dptr,#_xTickCount
	movx	a,@dptr
	mov	r2,a
	inc	dptr
	movx	a,@dptr
	mov	r3,a
;	../../FreeRTOS/Source/tasks.c:1080: taskEXIT_CRITICAL();
	 pop ACC 
	anl	_ACC,#0x80
	mov	a,_ACC
	orl	_IE,a
	 pop ACC 
;	../../FreeRTOS/Source/tasks.c:1082: return xTicks;
	mov	dpl,r2
	mov	dph,r3
	ret
;------------------------------------------------------------
;Allocation info for local variables in function 'uxTaskGetNumberOfTasks'
;------------------------------------------------------------
;uxNumberOfTasks           Allocated to registers r2 
;------------------------------------------------------------
;	../../FreeRTOS/Source/tasks.c:1086: unsigned portBASE_TYPE uxTaskGetNumberOfTasks( void )
;	-----------------------------------------
;	 function uxTaskGetNumberOfTasks
;	-----------------------------------------
_uxTaskGetNumberOfTasks:
;	../../FreeRTOS/Source/tasks.c:1090: taskENTER_CRITICAL();
	 push ACC push IE 
	clr	_EA
;	../../FreeRTOS/Source/tasks.c:1091: uxNumberOfTasks = uxCurrentNumberOfTasks;
	mov	dptr,#_uxCurrentNumberOfTasks
	movx	a,@dptr
	mov	r2,a
;	../../FreeRTOS/Source/tasks.c:1092: taskEXIT_CRITICAL();
	 pop ACC 
	anl	_ACC,#0x80
	mov	a,_ACC
	orl	_IE,a
	 pop ACC 
;	../../FreeRTOS/Source/tasks.c:1094: return uxNumberOfTasks;
	mov	dpl,r2
	ret
;------------------------------------------------------------
;Allocation info for local variables in function 'vTaskIncrementTick'
;------------------------------------------------------------
;pxTemp                    Allocated to registers r2 r3 r4 
;pxTCB                     Allocated to registers r5 r6 r7 
;sloc0                     Allocated to stack - offset 1
;------------------------------------------------------------
;	../../FreeRTOS/Source/tasks.c:1195: inline void vTaskIncrementTick( void )
;	-----------------------------------------
;	 function vTaskIncrementTick
;	-----------------------------------------
_vTaskIncrementTick:
	push	_bp
	mov	_bp,sp
	inc	sp
;	../../FreeRTOS/Source/tasks.c:1200: if( uxSchedulerSuspended == ( unsigned portBASE_TYPE ) pdFALSE )
	mov	dptr,#_uxSchedulerSuspended
	movx	a,@dptr
	mov	r2,a
	jz	00130$
	ljmp	00113$
00130$:
;	../../FreeRTOS/Source/tasks.c:1202: ++xTickCount;
	mov	dptr,#_xTickCount
	movx	a,@dptr
	add	a,#0x01
	movx	@dptr,a
	inc	dptr
	movx	a,@dptr
	addc	a,#0x00
	movx	@dptr,a
;	../../FreeRTOS/Source/tasks.c:1203: if( xTickCount == ( portTickType ) 0 )
	mov	dptr,#_xTickCount
	movx	a,@dptr
	mov	r2,a
	inc	dptr
	movx	a,@dptr
	mov	r3,a
	orl	a,r2
	jnz	00109$
;	../../FreeRTOS/Source/tasks.c:1210: pxTemp = pxDelayedTaskList;
	mov	dptr,#_pxDelayedTaskList
	movx	a,@dptr
	mov	r2,a
	inc	dptr
	movx	a,@dptr
	mov	r3,a
	inc	dptr
	movx	a,@dptr
	mov	r4,a
;	../../FreeRTOS/Source/tasks.c:1211: pxDelayedTaskList = pxOverflowDelayedTaskList;
	mov	dptr,#_pxOverflowDelayedTaskList
	movx	a,@dptr
	mov	r5,a
	inc	dptr
	movx	a,@dptr
	mov	r6,a
	inc	dptr
	movx	a,@dptr
	mov	r7,a
	mov	dptr,#_pxDelayedTaskList
	mov	a,r5
	movx	@dptr,a
	inc	dptr
	mov	a,r6
	movx	@dptr,a
	inc	dptr
	mov	a,r7
	movx	@dptr,a
;	../../FreeRTOS/Source/tasks.c:1212: pxOverflowDelayedTaskList = pxTemp;
	mov	dptr,#_pxOverflowDelayedTaskList
	mov	a,r2
	movx	@dptr,a
	inc	dptr
	mov	a,r3
	movx	@dptr,a
	inc	dptr
	mov	a,r4
	movx	@dptr,a
;	../../FreeRTOS/Source/tasks.c:1216: prvCheckDelayedTasks();
00109$:
	mov	dptr,#_pxDelayedTaskList
	movx	a,@dptr
	mov	r2,a
	inc	dptr
	movx	a,@dptr
	mov	r3,a
	inc	dptr
	movx	a,@dptr
	mov	r4,a
	mov	dpl,r2
	mov	dph,r3
	mov	b,r4
	lcall	__gptrget
	mov	r2,a
	clr	a
	cjne	r2,#0x00,00132$
	inc	a
00132$:
	mov	r2,a
	cjne	a,#0x01,00134$
00134$:
	clr	a
	rlc	a
	mov	r2,a
	jz	00119$
	mov	dptr,#_pxDelayedTaskList
	movx	a,@dptr
	mov	r2,a
	inc	dptr
	movx	a,@dptr
	mov	r3,a
	inc	dptr
	movx	a,@dptr
	mov	r4,a
	mov	a,#0x04
	add	a,r2
	mov	r2,a
	clr	a
	addc	a,r3
	mov	r3,a
	mov	a,#0x02
	add	a,r2
	mov	r2,a
	clr	a
	addc	a,r3
	mov	r3,a
	mov	dpl,r2
	mov	dph,r3
	mov	b,r4
	lcall	__gptrget
	mov	r2,a
	inc	dptr
	lcall	__gptrget
	mov	r3,a
	inc	dptr
	lcall	__gptrget
	mov	r4,a
	mov	a,#0x08
	add	a,r2
	mov	r2,a
	clr	a
	addc	a,r3
	mov	r3,a
	mov	dpl,r2
	mov	dph,r3
	mov	b,r4
	lcall	__gptrget
	mov	r2,a
	inc	dptr
	lcall	__gptrget
	mov	r3,a
	inc	dptr
	lcall	__gptrget
	mov	r4,a
	sjmp	00120$
00119$:
	mov	r2,#0x00
	mov	r3,#0x00
	mov	r4,#0x00
00120$:
	mov	ar5,r2
	mov	ar6,r3
	mov	ar7,r4
	cjne	r2,#0x00,00136$
	cjne	r3,#0x00,00136$
	cjne	r4,#0x00,00136$
	ljmp	00114$
00136$:
	mov	a,#0x03
	add	a,r5
	mov	r2,a
	clr	a
	addc	a,r6
	mov	r3,a
	mov	ar4,r7
	mov	dpl,r2
	mov	dph,r3
	mov	b,r4
	lcall	__gptrget
	mov	r2,a
	inc	dptr
	lcall	__gptrget
	mov	r3,a
	push	ar5
	push	ar6
	push	ar7
	mov	dptr,#_xTickCount
	movx	a,@dptr
	mov	r4,a
	inc	dptr
	movx	a,@dptr
	mov	r5,a
	clr	c
	mov	a,r4
	subb	a,r2
	mov	a,r5
	subb	a,r3
	clr	a
	rlc	a
	pop	ar7
	pop	ar6
	pop	ar5
	jz	00137$
	ljmp	00114$
00137$:
	mov	a,#0x03
	add	a,r5
	mov	r2,a
	clr	a
	addc	a,r6
	mov	r3,a
	mov	ar4,r7
	mov	dpl,r2
	mov	dph,r3
	mov	b,r4
	push	ar5
	push	ar6
	push	ar7
	lcall	_vListRemove
	pop	ar7
	pop	ar6
	pop	ar5
	mov	a,#0x11
	add	a,r5
	mov	r2,a
	clr	a
	addc	a,r6
	mov	r3,a
	mov	ar4,r7
	push	ar5
	push	ar6
	push	ar7
	mov	a,#0x0B
	add	a,r2
	mov	r5,a
	clr	a
	addc	a,r3
	mov	r6,a
	mov	ar7,r4
	mov	dpl,r5
	mov	dph,r6
	mov	b,r7
	lcall	__gptrget
	mov	r5,a
	inc	dptr
	lcall	__gptrget
	mov	r6,a
	inc	dptr
	lcall	__gptrget
	mov	r7,a
	mov	a,r5
	orl	a,r6
	orl	a,r7
	pop	ar7
	pop	ar6
	pop	ar5
	jz	00106$
	mov	dpl,r2
	mov	dph,r3
	mov	b,r4
	push	ar5
	push	ar6
	push	ar7
	lcall	_vListRemove
	pop	ar7
	pop	ar6
	pop	ar5
00106$:
	mov	a,#0x1F
	add	a,r5
	mov	r2,a
	clr	a
	addc	a,r6
	mov	r3,a
	mov	ar4,r7
	mov	dpl,r2
	mov	dph,r3
	mov	b,r4
	mov	r0,_bp
	inc	r0
	lcall	__gptrget
	mov	@r0,a
	push	ar5
	push	ar6
	push	ar7
	mov	dptr,#_uxTopReadyPriority
	movx	a,@dptr
	mov	r5,a
	mov	r0,_bp
	inc	r0
	clr	c
	mov	a,r5
	subb	a,@r0
	clr	a
	rlc	a
	pop	ar7
	pop	ar6
	pop	ar5
	jz	00108$
	mov	r0,_bp
	inc	r0
	mov	dptr,#_uxTopReadyPriority
	mov	a,@r0
	movx	@dptr,a
00108$:
	mov	a,#0x03
	add	a,r5
	mov	r5,a
	clr	a
	addc	a,r6
	mov	r6,a
	mov	dpl,r2
	mov	dph,r3
	mov	b,r4
	lcall	__gptrget
	mov	b,#0x0C
	mul	ab
	add	a,#_pxReadyTasksLists
	mov	r2,a
	clr	a
	addc	a,#(_pxReadyTasksLists >> 8)
	mov	r3,a
	mov	r4,#0x0
	push	ar5
	push	ar6
	push	ar7
	mov	dpl,r2
	mov	dph,r3
	mov	b,r4
	lcall	_vListInsertEnd
	dec	sp
	dec	sp
	dec	sp
	ljmp	00109$
00113$:
;	../../FreeRTOS/Source/tasks.c:1220: ++uxMissedTicks;
	mov	dptr,#_uxMissedTicks
	movx	a,@dptr
	add	a,#0x01
	movx	@dptr,a
;	../../FreeRTOS/Source/tasks.c:1228: vApplicationTickHook();
	lcall	_vApplicationTickHook
00114$:
;	../../FreeRTOS/Source/tasks.c:1239: if( uxMissedTicks == 0 )
	mov	dptr,#_uxMissedTicks
	movx	a,@dptr
	mov	r2,a
	jnz	00117$
;	../../FreeRTOS/Source/tasks.c:1241: vApplicationTickHook();
	lcall	_vApplicationTickHook
00117$:
	mov	sp,_bp
	pop	_bp
	ret
;------------------------------------------------------------
;Allocation info for local variables in function 'vTaskSwitchContext'
;------------------------------------------------------------
;------------------------------------------------------------
;	../../FreeRTOS/Source/tasks.c:1309: void vTaskSwitchContext( void )
;	-----------------------------------------
;	 function vTaskSwitchContext
;	-----------------------------------------
_vTaskSwitchContext:
;	../../FreeRTOS/Source/tasks.c:1311: if( uxSchedulerSuspended != ( unsigned portBASE_TYPE ) pdFALSE )
	mov	dptr,#_uxSchedulerSuspended
	movx	a,@dptr
	mov	r2,a
	jz	00112$
;	../../FreeRTOS/Source/tasks.c:1315: xMissedYield = pdTRUE;
	mov	dptr,#_xMissedYield
	mov	a,#0x01
	movx	@dptr,a
;	../../FreeRTOS/Source/tasks.c:1316: return;
	ret
;	../../FreeRTOS/Source/tasks.c:1320: while( listLIST_IS_EMPTY( &( pxReadyTasksLists[ uxTopReadyPriority ] ) ) )
00112$:
00103$:
	mov	dptr,#_uxTopReadyPriority
	movx	a,@dptr
	mov	b,#0x0C
	mul	ab
	add	a,#_pxReadyTasksLists
	mov	r2,a
	clr	a
	addc	a,#(_pxReadyTasksLists >> 8)
	mov	r3,a
	mov	dpl,r2
	mov	dph,r3
	movx	a,@dptr
	jnz	00105$
;	../../FreeRTOS/Source/tasks.c:1322: --uxTopReadyPriority;
	mov	dptr,#_uxTopReadyPriority
	movx	a,@dptr
	dec	a
	mov	dptr,#_uxTopReadyPriority
	movx	@dptr,a
	sjmp	00103$
00105$:
;	../../FreeRTOS/Source/tasks.c:1327: listGET_OWNER_OF_NEXT_ENTRY( pxCurrentTCB, &( pxReadyTasksLists[ uxTopReadyPriority ] ) );
	mov	dptr,#_uxTopReadyPriority
	movx	a,@dptr
	mov	b,#0x0C
	mul	ab
	add	a,#_pxReadyTasksLists
	mov	r2,a
	clr	a
	addc	a,#(_pxReadyTasksLists >> 8)
	mov	r3,a
	inc	r2
	cjne	r2,#0x00,00116$
	inc	r3
00116$:
	mov	dptr,#_uxTopReadyPriority
	movx	a,@dptr
	mov	b,#0x0C
	mul	ab
	add	a,#_pxReadyTasksLists
	mov	r4,a
	clr	a
	addc	a,#(_pxReadyTasksLists >> 8)
	mov	r5,a
	mov	dpl,r4
	mov	dph,r5
	inc	dptr
	movx	a,@dptr
	mov	r4,a
	inc	dptr
	movx	a,@dptr
	mov	r5,a
	inc	dptr
	movx	a,@dptr
	mov	r6,a
	mov	a,#0x02
	add	a,r4
	mov	r4,a
	clr	a
	addc	a,r5
	mov	r5,a
	mov	dpl,r4
	mov	dph,r5
	mov	b,r6
	lcall	__gptrget
	mov	r4,a
	inc	dptr
	lcall	__gptrget
	mov	r5,a
	inc	dptr
	lcall	__gptrget
	mov	r6,a
	mov	dpl,r2
	mov	dph,r3
	mov	a,r4
	movx	@dptr,a
	inc	dptr
	mov	a,r5
	movx	@dptr,a
	inc	dptr
	mov	a,r6
	movx	@dptr,a
	mov	dptr,#_uxTopReadyPriority
	movx	a,@dptr
	mov	b,#0x0C
	mul	ab
	add	a,#_pxReadyTasksLists
	mov	r2,a
	clr	a
	addc	a,#(_pxReadyTasksLists >> 8)
	mov	r3,a
	mov	dpl,r2
	mov	dph,r3
	inc	dptr
	movx	a,@dptr
	mov	r2,a
	inc	dptr
	movx	a,@dptr
	mov	r3,a
	inc	dptr
	movx	a,@dptr
	mov	r4,a
	mov	dptr,#_uxTopReadyPriority
	movx	a,@dptr
	mov	b,#0x0C
	mul	ab
	add	a,#_pxReadyTasksLists
	mov	r5,a
	clr	a
	addc	a,#(_pxReadyTasksLists >> 8)
	mov	r6,a
	mov	a,#0x04
	add	a,r5
	mov	r5,a
	clr	a
	addc	a,r6
	mov	r6,a
	mov	r7,#0x0
	mov	a,r2
	cjne	a,ar5,00107$
	mov	a,r3
	cjne	a,ar6,00107$
	mov	a,r4
	cjne	a,ar7,00107$
	mov	dptr,#_uxTopReadyPriority
	movx	a,@dptr
	mov	b,#0x0C
	mul	ab
	add	a,#_pxReadyTasksLists
	mov	r2,a
	clr	a
	addc	a,#(_pxReadyTasksLists >> 8)
	mov	r3,a
	inc	r2
	cjne	r2,#0x00,00119$
	inc	r3
00119$:
	mov	dptr,#_uxTopReadyPriority
	movx	a,@dptr
	mov	b,#0x0C
	mul	ab
	add	a,#_pxReadyTasksLists
	mov	r4,a
	clr	a
	addc	a,#(_pxReadyTasksLists >> 8)
	mov	r5,a
	mov	dpl,r4
	mov	dph,r5
	inc	dptr
	movx	a,@dptr
	mov	r4,a
	inc	dptr
	movx	a,@dptr
	mov	r5,a
	inc	dptr
	movx	a,@dptr
	mov	r6,a
	mov	a,#0x02
	add	a,r4
	mov	r4,a
	clr	a
	addc	a,r5
	mov	r5,a
	mov	dpl,r4
	mov	dph,r5
	mov	b,r6
	lcall	__gptrget
	mov	r4,a
	inc	dptr
	lcall	__gptrget
	mov	r5,a
	inc	dptr
	lcall	__gptrget
	mov	r6,a
	mov	dpl,r2
	mov	dph,r3
	mov	a,r4
	movx	@dptr,a
	inc	dptr
	mov	a,r5
	movx	@dptr,a
	inc	dptr
	mov	a,r6
	movx	@dptr,a
00107$:
	mov	dptr,#_uxTopReadyPriority
	movx	a,@dptr
	mov	b,#0x0C
	mul	ab
	add	a,#_pxReadyTasksLists
	mov	r2,a
	clr	a
	addc	a,#(_pxReadyTasksLists >> 8)
	mov	r3,a
	mov	dpl,r2
	mov	dph,r3
	inc	dptr
	movx	a,@dptr
	mov	r2,a
	inc	dptr
	movx	a,@dptr
	mov	r3,a
	inc	dptr
	movx	a,@dptr
	mov	r4,a
	mov	a,#0x08
	add	a,r2
	mov	r2,a
	clr	a
	addc	a,r3
	mov	r3,a
	mov	dpl,r2
	mov	dph,r3
	mov	b,r4
	lcall	__gptrget
	mov	r2,a
	inc	dptr
	lcall	__gptrget
	mov	r3,a
	inc	dptr
	lcall	__gptrget
	mov	r4,a
	mov	dptr,#_pxCurrentTCB
	mov	a,r2
	movx	@dptr,a
	inc	dptr
	mov	a,r3
	movx	@dptr,a
	inc	dptr
	mov	a,r4
	movx	@dptr,a
	ret
;------------------------------------------------------------
;Allocation info for local variables in function 'vTaskPlaceOnEventList'
;------------------------------------------------------------
;xTicksToWait              Allocated to stack - offset -4
;pxEventList               Allocated to registers r2 r3 r4 
;xTimeToWake               Allocated to registers r2 r3 
;------------------------------------------------------------
;	../../FreeRTOS/Source/tasks.c:1332: void vTaskPlaceOnEventList( xList *pxEventList, portTickType xTicksToWait )
;	-----------------------------------------
;	 function vTaskPlaceOnEventList
;	-----------------------------------------
_vTaskPlaceOnEventList:
	push	_bp
	mov	_bp,sp
	mov	r2,dpl
	mov	r3,dph
	mov	r4,b
;	../../FreeRTOS/Source/tasks.c:1342: vListInsert( ( xList * ) pxEventList, ( xListItem * ) &( pxCurrentTCB->xEventListItem ) );
	mov	dptr,#_pxCurrentTCB
	movx	a,@dptr
	mov	r5,a
	inc	dptr
	movx	a,@dptr
	mov	r6,a
	inc	dptr
	movx	a,@dptr
	mov	r7,a
	mov	a,#0x11
	add	a,r5
	mov	r5,a
	clr	a
	addc	a,r6
	mov	r6,a
	push	ar5
	push	ar6
	push	ar7
	mov	dpl,r2
	mov	dph,r3
	mov	b,r4
	lcall	_vListInsert
	dec	sp
	dec	sp
	dec	sp
;	../../FreeRTOS/Source/tasks.c:1346: xTimeToWake = xTickCount + xTicksToWait;
	mov	dptr,#_xTickCount
	movx	a,@dptr
	mov	r2,a
	inc	dptr
	movx	a,@dptr
	mov	r3,a
	mov	a,_bp
	add	a,#0xfc
	mov	r0,a
	mov	a,@r0
	add	a,r2
	mov	r2,a
	inc	r0
	mov	a,@r0
	addc	a,r3
	mov	r3,a
;	../../FreeRTOS/Source/tasks.c:1351: vListRemove( ( xListItem * ) &( pxCurrentTCB->xGenericListItem ) );
	mov	dptr,#_pxCurrentTCB
	movx	a,@dptr
	mov	r4,a
	inc	dptr
	movx	a,@dptr
	mov	r5,a
	inc	dptr
	movx	a,@dptr
	mov	r6,a
	mov	a,#0x03
	add	a,r4
	mov	r4,a
	clr	a
	addc	a,r5
	mov	r5,a
	mov	dpl,r4
	mov	dph,r5
	mov	b,r6
	push	ar2
	push	ar3
	lcall	_vListRemove
	pop	ar3
	pop	ar2
;	../../FreeRTOS/Source/tasks.c:1353: listSET_LIST_ITEM_VALUE( &( pxCurrentTCB->xGenericListItem ), xTimeToWake );
	mov	dptr,#_pxCurrentTCB
	movx	a,@dptr
	mov	r4,a
	inc	dptr
	movx	a,@dptr
	mov	r5,a
	inc	dptr
	movx	a,@dptr
	mov	r6,a
	mov	a,#0x03
	add	a,r4
	mov	r4,a
	clr	a
	addc	a,r5
	mov	r5,a
	mov	dpl,r4
	mov	dph,r5
	mov	b,r6
	mov	a,r2
	lcall	__gptrput
	inc	dptr
	mov	a,r3
	lcall	__gptrput
;	../../FreeRTOS/Source/tasks.c:1355: if( xTimeToWake < xTickCount )
	mov	dptr,#_xTickCount
	movx	a,@dptr
	mov	r4,a
	inc	dptr
	movx	a,@dptr
	mov	r5,a
	clr	c
	mov	a,r2
	subb	a,r4
	mov	a,r3
	subb	a,r5
	jnc	00102$
;	../../FreeRTOS/Source/tasks.c:1358: vListInsert( ( xList * ) pxOverflowDelayedTaskList, ( xListItem * ) &( pxCurrentTCB->xGenericListItem ) );
	mov	dptr,#_pxCurrentTCB
	movx	a,@dptr
	mov	r2,a
	inc	dptr
	movx	a,@dptr
	mov	r3,a
	inc	dptr
	movx	a,@dptr
	mov	r4,a
	mov	a,#0x03
	add	a,r2
	mov	r2,a
	clr	a
	addc	a,r3
	mov	r3,a
	mov	dptr,#_pxOverflowDelayedTaskList
	movx	a,@dptr
	mov	r5,a
	inc	dptr
	movx	a,@dptr
	mov	r6,a
	inc	dptr
	movx	a,@dptr
	mov	r7,a
	push	ar2
	push	ar3
	push	ar4
	mov	dpl,r5
	mov	dph,r6
	mov	b,r7
	lcall	_vListInsert
	dec	sp
	dec	sp
	dec	sp
	sjmp	00104$
00102$:
;	../../FreeRTOS/Source/tasks.c:1363: vListInsert( ( xList * ) pxDelayedTaskList, ( xListItem * ) &( pxCurrentTCB->xGenericListItem ) );
	mov	dptr,#_pxCurrentTCB
	movx	a,@dptr
	mov	r2,a
	inc	dptr
	movx	a,@dptr
	mov	r3,a
	inc	dptr
	movx	a,@dptr
	mov	r4,a
	mov	a,#0x03
	add	a,r2
	mov	r2,a
	clr	a
	addc	a,r3
	mov	r3,a
	mov	dptr,#_pxDelayedTaskList
	movx	a,@dptr
	mov	r5,a
	inc	dptr
	movx	a,@dptr
	mov	r6,a
	inc	dptr
	movx	a,@dptr
	mov	r7,a
	push	ar2
	push	ar3
	push	ar4
	mov	dpl,r5
	mov	dph,r6
	mov	b,r7
	lcall	_vListInsert
	dec	sp
	dec	sp
	dec	sp
00104$:
	pop	_bp
	ret
;------------------------------------------------------------
;Allocation info for local variables in function 'xTaskRemoveFromEventList'
;------------------------------------------------------------
;pxEventList               Allocated to registers r2 r3 r4 
;pxUnblockedTCB            Allocated to stack - offset 1
;xReturn                   Allocated to registers r2 
;------------------------------------------------------------
;	../../FreeRTOS/Source/tasks.c:1368: signed portBASE_TYPE xTaskRemoveFromEventList( const xList *pxEventList )
;	-----------------------------------------
;	 function xTaskRemoveFromEventList
;	-----------------------------------------
_xTaskRemoveFromEventList:
	push	_bp
	mov	_bp,sp
	inc	sp
	inc	sp
	inc	sp
;	../../FreeRTOS/Source/tasks.c:1383: pxUnblockedTCB = ( tskTCB * ) listGET_OWNER_OF_HEAD_ENTRY( pxEventList );
	mov	r2,dpl
	mov	r3,dph
	mov	r4,b
	lcall	__gptrget
	mov	r5,a
	clr	a
	cjne	r5,#0x00,00117$
	inc	a
00117$:
	mov	r5,a
	cjne	a,#0x01,00119$
00119$:
	clr	a
	rlc	a
	mov	r5,a
	jz	00111$
	mov	a,#0x04
	add	a,r2
	mov	r2,a
	clr	a
	addc	a,r3
	mov	r3,a
	mov	a,#0x02
	add	a,r2
	mov	r2,a
	clr	a
	addc	a,r3
	mov	r3,a
	mov	dpl,r2
	mov	dph,r3
	mov	b,r4
	lcall	__gptrget
	mov	r2,a
	inc	dptr
	lcall	__gptrget
	mov	r3,a
	inc	dptr
	lcall	__gptrget
	mov	r4,a
	mov	a,#0x08
	add	a,r2
	mov	r2,a
	clr	a
	addc	a,r3
	mov	r3,a
	mov	dpl,r2
	mov	dph,r3
	mov	b,r4
	lcall	__gptrget
	mov	r2,a
	inc	dptr
	lcall	__gptrget
	mov	r3,a
	inc	dptr
	lcall	__gptrget
	mov	r4,a
	sjmp	00112$
00111$:
	mov	r2,#0x00
	mov	r3,#0x00
	mov	r4,#0x00
00112$:
	mov	r0,_bp
	inc	r0
	mov	@r0,ar2
	inc	r0
	mov	@r0,ar3
	inc	r0
	mov	@r0,ar4
;	../../FreeRTOS/Source/tasks.c:1384: vListRemove( &( pxUnblockedTCB->xEventListItem ) );
	mov	r0,_bp
	inc	r0
	mov	a,#0x11
	add	a,@r0
	mov	r5,a
	clr	a
	inc	r0
	addc	a,@r0
	mov	r6,a
	inc	r0
	mov	ar7,@r0
	mov	dpl,r5
	mov	dph,r6
	mov	b,r7
	lcall	_vListRemove
;	../../FreeRTOS/Source/tasks.c:1386: if( uxSchedulerSuspended == ( unsigned portBASE_TYPE ) pdFALSE )
	mov	dptr,#_uxSchedulerSuspended
	movx	a,@dptr
	mov	r5,a
	jnz	00104$
;	../../FreeRTOS/Source/tasks.c:1388: vListRemove( &( pxUnblockedTCB->xGenericListItem ) );
	mov	r0,_bp
	inc	r0
	mov	a,#0x03
	add	a,@r0
	mov	r5,a
	clr	a
	inc	r0
	addc	a,@r0
	mov	r6,a
	inc	r0
	mov	ar7,@r0
	mov	dpl,r5
	mov	dph,r6
	mov	b,r7
	lcall	_vListRemove
;	../../FreeRTOS/Source/tasks.c:1389: prvAddTaskToReadyQueue( pxUnblockedTCB );
	mov	r0,_bp
	inc	r0
	mov	a,#0x1F
	add	a,@r0
	mov	r5,a
	clr	a
	inc	r0
	addc	a,@r0
	mov	r6,a
	inc	r0
	mov	ar7,@r0
	mov	dpl,r5
	mov	dph,r6
	mov	b,r7
	lcall	__gptrget
	mov	r5,a
	mov	dptr,#_uxTopReadyPriority
	movx	a,@dptr
	mov	r6,a
	clr	c
	subb	a,r5
	jnc	00102$
	mov	dptr,#_uxTopReadyPriority
	mov	a,r5
	movx	@dptr,a
00102$:
	mov	r0,_bp
	inc	r0
	mov	a,#0x03
	add	a,@r0
	mov	r6,a
	clr	a
	inc	r0
	addc	a,@r0
	mov	r7,a
	inc	r0
	mov	ar2,@r0
	mov	a,r5
	mov	b,#0x0C
	mul	ab
	add	a,#_pxReadyTasksLists
	mov	r3,a
	clr	a
	addc	a,#(_pxReadyTasksLists >> 8)
	mov	r4,a
	mov	r5,#0x0
	push	ar6
	push	ar7
	push	ar2
	mov	dpl,r3
	mov	dph,r4
	mov	b,r5
	lcall	_vListInsertEnd
	dec	sp
	dec	sp
	dec	sp
	sjmp	00105$
00104$:
;	../../FreeRTOS/Source/tasks.c:1395: vListInsertEnd( ( xList * ) &( xPendingReadyList ), &( pxUnblockedTCB->xEventListItem ) );
	mov	r0,_bp
	inc	r0
	mov	a,#0x11
	add	a,@r0
	mov	r2,a
	clr	a
	inc	r0
	addc	a,@r0
	mov	r3,a
	inc	r0
	mov	ar4,@r0
	push	ar2
	push	ar3
	push	ar4
	mov	dptr,#_xPendingReadyList
	mov	b,#0x00
	lcall	_vListInsertEnd
	dec	sp
	dec	sp
	dec	sp
00105$:
;	../../FreeRTOS/Source/tasks.c:1398: if( pxUnblockedTCB->uxPriority >= pxCurrentTCB->uxPriority )
	mov	r0,_bp
	inc	r0
	mov	a,#0x1F
	add	a,@r0
	mov	r2,a
	clr	a
	inc	r0
	addc	a,@r0
	mov	r3,a
	inc	r0
	mov	ar4,@r0
	mov	dpl,r2
	mov	dph,r3
	mov	b,r4
	lcall	__gptrget
	mov	r2,a
	mov	dptr,#_pxCurrentTCB
	movx	a,@dptr
	mov	r3,a
	inc	dptr
	movx	a,@dptr
	mov	r4,a
	inc	dptr
	movx	a,@dptr
	mov	r5,a
	mov	a,#0x1F
	add	a,r3
	mov	r3,a
	clr	a
	addc	a,r4
	mov	r4,a
	mov	dpl,r3
	mov	dph,r4
	mov	b,r5
	lcall	__gptrget
	mov	r3,a
	clr	c
	mov	a,r2
	subb	a,r3
	jc	00107$
;	../../FreeRTOS/Source/tasks.c:1404: xReturn = pdTRUE;
;	../../FreeRTOS/Source/tasks.c:1408: xReturn = pdFALSE;
;	../../FreeRTOS/Source/tasks.c:1411: return xReturn;
	mov	dpl,#0x01
	sjmp	00108$
00107$:
	mov	dpl,#0x00
00108$:
	mov	sp,_bp
	pop	_bp
	ret
;------------------------------------------------------------
;Allocation info for local variables in function 'prvIdleTask'
;------------------------------------------------------------
;pvParameters              Allocated to registers 
;------------------------------------------------------------
;	../../FreeRTOS/Source/tasks.c:1429: static portTASK_FUNCTION( prvIdleTask, pvParameters )
;	-----------------------------------------
;	 function prvIdleTask
;	-----------------------------------------
_prvIdleTask:
;	../../FreeRTOS/Source/tasks.c:1432: ( void ) pvParameters;
00102$:
;	../../FreeRTOS/Source/tasks.c:1437: prvCheckTasksWaitingTermination();
	lcall	_prvCheckTasksWaitingTermination
	sjmp	00102$
;------------------------------------------------------------
;Allocation info for local variables in function 'prvInitialiseTCBVariables'
;------------------------------------------------------------
;usStackDepth              Allocated to stack - offset -4
;pcName                    Allocated to stack - offset -7
;uxPriority                Allocated to stack - offset -8
;pxTCB                     Allocated to stack - offset 1
;------------------------------------------------------------
;	../../FreeRTOS/Source/tasks.c:1494: static void prvInitialiseTCBVariables( tskTCB *pxTCB, unsigned portSHORT usStackDepth, const signed portCHAR * const pcName, unsigned portBASE_TYPE uxPriority )
;	-----------------------------------------
;	 function prvInitialiseTCBVariables
;	-----------------------------------------
_prvInitialiseTCBVariables:
	push	_bp
	mov	_bp,sp
	push	dpl
	push	dph
	push	b
;	../../FreeRTOS/Source/tasks.c:1496: pxTCB->usStackDepth = usStackDepth;
	mov	r0,_bp
	inc	r0
	mov	a,#0x2C
	add	a,@r0
	mov	r5,a
	clr	a
	inc	r0
	addc	a,@r0
	mov	r6,a
	inc	r0
	mov	ar7,@r0
	mov	dpl,r5
	mov	dph,r6
	mov	b,r7
	mov	a,_bp
	add	a,#0xfc
	mov	r0,a
	mov	a,@r0
	lcall	__gptrput
	inc	dptr
	inc	r0
	mov	a,@r0
	lcall	__gptrput
;	../../FreeRTOS/Source/tasks.c:1499: strncpy( ( char * ) pxTCB->pcTaskName, ( const char * ) pcName, ( unsigned portSHORT ) configMAX_TASK_NAME_LEN );
	mov	r0,_bp
	inc	r0
	mov	a,#0x24
	add	a,@r0
	mov	r5,a
	clr	a
	inc	r0
	addc	a,@r0
	mov	r6,a
	inc	r0
	mov	ar7,@r0
	mov	a,#0x08
	push	acc
	clr	a
	push	acc
	mov	a,_bp
	add	a,#0xf9
	mov	r0,a
	mov	a,@r0
	push	acc
	inc	r0
	mov	a,@r0
	push	acc
	inc	r0
	mov	a,@r0
	push	acc
	mov	dpl,r5
	mov	dph,r6
	mov	b,r7
	lcall	_strncpy
	mov	a,sp
	add	a,#0xfb
	mov	sp,a
;	../../FreeRTOS/Source/tasks.c:1500: pxTCB->pcTaskName[ ( unsigned portSHORT ) configMAX_TASK_NAME_LEN - ( unsigned portSHORT ) 1 ] = '\0';
	mov	r0,_bp
	inc	r0
	mov	a,#0x24
	add	a,@r0
	mov	r5,a
	clr	a
	inc	r0
	addc	a,@r0
	mov	r6,a
	inc	r0
	mov	ar7,@r0
	mov	a,#0x07
	add	a,r5
	mov	r5,a
	clr	a
	addc	a,r6
	mov	r6,a
	mov	dpl,r5
	mov	dph,r6
	mov	b,r7
	clr	a
	lcall	__gptrput
;	../../FreeRTOS/Source/tasks.c:1503: if( uxPriority >= configMAX_PRIORITIES )
	mov	a,_bp
	add	a,#0xf8
	mov	r0,a
	cjne	@r0,#0x04,00106$
00106$:
	jc	00102$
;	../../FreeRTOS/Source/tasks.c:1505: uxPriority = configMAX_PRIORITIES - 1;
	mov	a,_bp
	add	a,#0xf8
	mov	r0,a
	mov	@r0,#0x03
00102$:
;	../../FreeRTOS/Source/tasks.c:1508: pxTCB->uxPriority = uxPriority;
	mov	r0,_bp
	inc	r0
	mov	a,#0x1F
	add	a,@r0
	mov	r5,a
	clr	a
	inc	r0
	addc	a,@r0
	mov	r6,a
	inc	r0
	mov	ar7,@r0
	mov	dpl,r5
	mov	dph,r6
	mov	b,r7
	mov	a,_bp
	add	a,#0xf8
	mov	r0,a
	mov	a,@r0
	lcall	__gptrput
;	../../FreeRTOS/Source/tasks.c:1510: vListInitialiseItem( &( pxTCB->xGenericListItem ) );
	mov	r0,_bp
	inc	r0
	mov	a,#0x03
	add	a,@r0
	mov	r5,a
	clr	a
	inc	r0
	addc	a,@r0
	mov	r6,a
	inc	r0
	mov	ar7,@r0
	mov	dpl,r5
	mov	dph,r6
	mov	b,r7
	lcall	_vListInitialiseItem
;	../../FreeRTOS/Source/tasks.c:1511: vListInitialiseItem( &( pxTCB->xEventListItem ) );
	mov	r0,_bp
	inc	r0
	mov	a,#0x11
	add	a,@r0
	mov	r5,a
	clr	a
	inc	r0
	addc	a,@r0
	mov	r6,a
	inc	r0
	mov	ar7,@r0
	mov	dpl,r5
	mov	dph,r6
	mov	b,r7
	lcall	_vListInitialiseItem
;	../../FreeRTOS/Source/tasks.c:1515: listSET_LIST_ITEM_OWNER( &( pxTCB->xGenericListItem ), pxTCB );
	mov	r0,_bp
	inc	r0
	mov	a,#0x03
	add	a,@r0
	mov	r5,a
	clr	a
	inc	r0
	addc	a,@r0
	mov	r6,a
	inc	r0
	mov	ar7,@r0
	mov	a,#0x08
	add	a,r5
	mov	r5,a
	clr	a
	addc	a,r6
	mov	r6,a
	mov	dpl,r5
	mov	dph,r6
	mov	b,r7
	mov	r0,_bp
	inc	r0
	mov	a,@r0
	lcall	__gptrput
	inc	dptr
	inc	r0
	mov	a,@r0
	lcall	__gptrput
	inc	dptr
	inc	r0
	mov	a,@r0
	lcall	__gptrput
;	../../FreeRTOS/Source/tasks.c:1518: listSET_LIST_ITEM_VALUE( &( pxTCB->xEventListItem ), configMAX_PRIORITIES - ( portTickType ) uxPriority );
	mov	r0,_bp
	inc	r0
	mov	a,#0x11
	add	a,@r0
	mov	r5,a
	clr	a
	inc	r0
	addc	a,@r0
	mov	r6,a
	inc	r0
	mov	ar7,@r0
	mov	a,_bp
	add	a,#0xf8
	mov	r0,a
	mov	ar2,@r0
	mov	r3,#0x00
	mov	a,#0x04
	clr	c
	subb	a,r2
	mov	r2,a
	clr	a
	subb	a,r3
	mov	r3,a
	mov	dpl,r5
	mov	dph,r6
	mov	b,r7
	mov	a,r2
	lcall	__gptrput
	inc	dptr
	mov	a,r3
	lcall	__gptrput
;	../../FreeRTOS/Source/tasks.c:1519: listSET_LIST_ITEM_OWNER( &( pxTCB->xEventListItem ), pxTCB );
	mov	r0,_bp
	inc	r0
	mov	a,#0x11
	add	a,@r0
	mov	r2,a
	clr	a
	inc	r0
	addc	a,@r0
	mov	r3,a
	inc	r0
	mov	ar4,@r0
	mov	a,#0x08
	add	a,r2
	mov	r2,a
	clr	a
	addc	a,r3
	mov	r3,a
	mov	dpl,r2
	mov	dph,r3
	mov	b,r4
	mov	r0,_bp
	inc	r0
	mov	a,@r0
	lcall	__gptrput
	inc	dptr
	inc	r0
	mov	a,@r0
	lcall	__gptrput
	inc	dptr
	inc	r0
	mov	a,@r0
	lcall	__gptrput
	mov	sp,_bp
	pop	_bp
	ret
;------------------------------------------------------------
;Allocation info for local variables in function 'prvInitialiseTaskLists'
;------------------------------------------------------------
;uxPriority                Allocated to registers r2 
;------------------------------------------------------------
;	../../FreeRTOS/Source/tasks.c:1523: static void prvInitialiseTaskLists( void )
;	-----------------------------------------
;	 function prvInitialiseTaskLists
;	-----------------------------------------
_prvInitialiseTaskLists:
;	../../FreeRTOS/Source/tasks.c:1527: for( uxPriority = 0; uxPriority < configMAX_PRIORITIES; uxPriority++ )
	mov	r2,#0x00
00101$:
	cjne	r2,#0x04,00110$
00110$:
	jnc	00104$
;	../../FreeRTOS/Source/tasks.c:1529: vListInitialise( ( xList * ) &( pxReadyTasksLists[ uxPriority ] ) );
	mov	a,r2
	mov	b,#0x0C
	mul	ab
	add	a,#_pxReadyTasksLists
	mov	r3,a
	clr	a
	addc	a,#(_pxReadyTasksLists >> 8)
	mov	r4,a
	mov	r5,#0x0
	mov	dpl,r3
	mov	dph,r4
	mov	b,r5
	push	ar2
	lcall	_vListInitialise
	pop	ar2
;	../../FreeRTOS/Source/tasks.c:1527: for( uxPriority = 0; uxPriority < configMAX_PRIORITIES; uxPriority++ )
	inc	r2
	sjmp	00101$
00104$:
;	../../FreeRTOS/Source/tasks.c:1532: vListInitialise( ( xList * ) &xDelayedTaskList1 );
	mov	dptr,#_xDelayedTaskList1
	mov	b,#0x00
	lcall	_vListInitialise
;	../../FreeRTOS/Source/tasks.c:1533: vListInitialise( ( xList * ) &xDelayedTaskList2 );
	mov	dptr,#_xDelayedTaskList2
	mov	b,#0x00
	lcall	_vListInitialise
;	../../FreeRTOS/Source/tasks.c:1534: vListInitialise( ( xList * ) &xPendingReadyList );
	mov	dptr,#_xPendingReadyList
	mov	b,#0x00
	lcall	_vListInitialise
;	../../FreeRTOS/Source/tasks.c:1538: vListInitialise( ( xList * ) &xTasksWaitingTermination );
	mov	dptr,#_xTasksWaitingTermination
	mov	b,#0x00
	lcall	_vListInitialise
;	../../FreeRTOS/Source/tasks.c:1550: pxDelayedTaskList = &xDelayedTaskList1;
	mov	dptr,#_pxDelayedTaskList
	mov	a,#_xDelayedTaskList1
	movx	@dptr,a
	inc	dptr
	mov	a,#(_xDelayedTaskList1 >> 8)
	movx	@dptr,a
	inc	dptr
	mov	a,#0x0
	movx	@dptr,a
;	../../FreeRTOS/Source/tasks.c:1551: pxOverflowDelayedTaskList = &xDelayedTaskList2;
	mov	dptr,#_pxOverflowDelayedTaskList
	mov	a,#_xDelayedTaskList2
	movx	@dptr,a
	inc	dptr
	mov	a,#(_xDelayedTaskList2 >> 8)
	movx	@dptr,a
	inc	dptr
	mov	a,#0x0
	movx	@dptr,a
	ret
;------------------------------------------------------------
;Allocation info for local variables in function 'prvCheckTasksWaitingTermination'
;------------------------------------------------------------
;xListIsEmpty              Allocated to registers r2 
;pxTCB                     Allocated to registers r2 r3 r4 
;------------------------------------------------------------
;	../../FreeRTOS/Source/tasks.c:1555: static void prvCheckTasksWaitingTermination( void )
;	-----------------------------------------
;	 function prvCheckTasksWaitingTermination
;	-----------------------------------------
_prvCheckTasksWaitingTermination:
;	../../FreeRTOS/Source/tasks.c:1563: if( uxTasksDeleted > ( unsigned portBASE_TYPE ) 0 )
	mov	dptr,#_uxTasksDeleted
	movx	a,@dptr
	mov	r2,a
	jnz	00112$
	ret
00112$:
;	../../FreeRTOS/Source/tasks.c:1565: vTaskSuspendAll();
	lcall	_vTaskSuspendAll
;	../../FreeRTOS/Source/tasks.c:1566: xListIsEmpty = listLIST_IS_EMPTY( &xTasksWaitingTermination );				
	mov	dptr,#_xTasksWaitingTermination
	movx	a,@dptr
	mov	r2,a
	clr	a
	cjne	r2,#0x00,00113$
	inc	a
00113$:
	mov	r2,a
;	../../FreeRTOS/Source/tasks.c:1567: xTaskResumeAll();
	push	ar2
	lcall	_xTaskResumeAll
	pop	ar2
;	../../FreeRTOS/Source/tasks.c:1569: if( !xListIsEmpty )
	mov	a,r2
	jz	00115$
	ret
00115$:
;	../../FreeRTOS/Source/tasks.c:1573: portENTER_CRITICAL();
	 push ACC push IE 
	clr	_EA
;	../../FreeRTOS/Source/tasks.c:1575: pxTCB = ( tskTCB * ) listGET_OWNER_OF_HEAD_ENTRY( ( ( xList * ) &xTasksWaitingTermination ) );
	mov	dptr,#_xTasksWaitingTermination
	movx	a,@dptr
	mov	r2,a
	clr	a
	cjne	r2,#0x00,00116$
	inc	a
00116$:
	mov	r2,a
	cjne	a,#0x01,00118$
00118$:
	clr	a
	rlc	a
	mov	r2,a
	jz	00107$
	mov	dptr,#(_xTasksWaitingTermination + 0x0006)
	mov	b,#0x00
	lcall	__gptrget
	mov	r2,a
	inc	dptr
	lcall	__gptrget
	mov	r3,a
	inc	dptr
	lcall	__gptrget
	mov	r4,a
	mov	a,#0x08
	add	a,r2
	mov	r2,a
	clr	a
	addc	a,r3
	mov	r3,a
	mov	dpl,r2
	mov	dph,r3
	mov	b,r4
	lcall	__gptrget
	mov	r2,a
	inc	dptr
	lcall	__gptrget
	mov	r3,a
	inc	dptr
	lcall	__gptrget
	mov	r4,a
	sjmp	00108$
00107$:
	mov	r2,#0x00
	mov	r3,#0x00
	mov	r4,#0x00
00108$:
;	../../FreeRTOS/Source/tasks.c:1576: vListRemove( &( pxTCB->xGenericListItem ) );
	mov	a,#0x03
	add	a,r2
	mov	r5,a
	clr	a
	addc	a,r3
	mov	r6,a
	mov	ar7,r4
	mov	dpl,r5
	mov	dph,r6
	mov	b,r7
	push	ar2
	push	ar3
	push	ar4
	lcall	_vListRemove
	pop	ar4
	pop	ar3
	pop	ar2
;	../../FreeRTOS/Source/tasks.c:1577: --uxCurrentNumberOfTasks;
	mov	dptr,#_uxCurrentNumberOfTasks
	movx	a,@dptr
	dec	a
	mov	dptr,#_uxCurrentNumberOfTasks
	movx	@dptr,a
;	../../FreeRTOS/Source/tasks.c:1578: --uxTasksDeleted;
	mov	dptr,#_uxTasksDeleted
	movx	a,@dptr
	dec	a
	mov	dptr,#_uxTasksDeleted
	movx	@dptr,a
;	../../FreeRTOS/Source/tasks.c:1580: portEXIT_CRITICAL();
	 pop ACC 
	anl	_ACC,#0x80
	mov	a,_ACC
	orl	_IE,a
	 pop ACC 
;	../../FreeRTOS/Source/tasks.c:1582: prvDeleteTCB( pxTCB );
	mov	dpl,r2
	mov	dph,r3
	mov	b,r4
	ljmp	_prvDeleteTCB
;------------------------------------------------------------
;Allocation info for local variables in function 'prvAllocateTCBAndStack'
;------------------------------------------------------------
;usStackDepth              Allocated to stack - offset 1
;pxNewTCB                  Allocated to stack - offset 3
;------------------------------------------------------------
;	../../FreeRTOS/Source/tasks.c:1590: static tskTCB *prvAllocateTCBAndStack( unsigned portSHORT usStackDepth )
;	-----------------------------------------
;	 function prvAllocateTCBAndStack
;	-----------------------------------------
_prvAllocateTCBAndStack:
	push	_bp
	mov	_bp,sp
	push	dpl
	push	dph
	inc	sp
	inc	sp
	inc	sp
;	../../FreeRTOS/Source/tasks.c:1596: pxNewTCB = ( tskTCB * ) pvPortMalloc( sizeof( tskTCB ) );
	mov	dptr,#0x002E
	lcall	_pvPortMalloc
	mov	r4,dpl
	mov	r5,dph
	mov	r6,b
	mov	r0,_bp
	inc	r0
	inc	r0
	inc	r0
	mov	@r0,ar4
	inc	r0
	mov	@r0,ar5
	inc	r0
	mov	@r0,ar6
;	../../FreeRTOS/Source/tasks.c:1598: if( pxNewTCB != NULL )
	mov	r0,_bp
	inc	r0
	inc	r0
	inc	r0
	cjne	@r0,#0x00,00110$
	inc	r0
	cjne	@r0,#0x00,00110$
	inc	r0
	cjne	@r0,#0x00,00110$
	ljmp	00105$
00110$:
;	../../FreeRTOS/Source/tasks.c:1603: pxNewTCB->pxStack = ( portSTACK_TYPE * ) pvPortMalloc( ( ( size_t )usStackDepth ) * sizeof( portSTACK_TYPE ) );
	mov	r0,_bp
	inc	r0
	inc	r0
	inc	r0
	mov	a,#0x20
	add	a,@r0
	mov	r7,a
	clr	a
	inc	r0
	addc	a,@r0
	mov	r2,a
	inc	r0
	mov	ar3,@r0
	mov	r0,_bp
	inc	r0
	mov	dpl,@r0
	inc	r0
	mov	dph,@r0
	push	ar2
	push	ar3
	push	ar7
	lcall	_pvPortMalloc
	mov	r4,dpl
	mov	r5,dph
	mov	r6,b
	pop	ar7
	pop	ar3
	pop	ar2
	mov	dpl,r7
	mov	dph,r2
	mov	b,r3
	mov	a,r4
	lcall	__gptrput
	inc	dptr
	mov	a,r5
	lcall	__gptrput
	inc	dptr
	mov	a,r6
	lcall	__gptrput
;	../../FreeRTOS/Source/tasks.c:1605: if( pxNewTCB->pxStack == NULL )
	cjne	r4,#0x00,00102$
	cjne	r5,#0x00,00102$
	cjne	r6,#0x00,00102$
;	../../FreeRTOS/Source/tasks.c:1608: vPortFree( pxNewTCB );			
	mov	r0,_bp
	inc	r0
	inc	r0
	inc	r0
	mov	dpl,@r0
	inc	r0
	mov	dph,@r0
	inc	r0
	mov	b,@r0
	lcall	_vPortFree
;	../../FreeRTOS/Source/tasks.c:1609: pxNewTCB = NULL;			
	mov	r0,_bp
	inc	r0
	inc	r0
	inc	r0
	clr	a
	mov	@r0,a
	inc	r0
	mov	@r0,a
	inc	r0
	mov	@r0,a
	sjmp	00105$
00102$:
;	../../FreeRTOS/Source/tasks.c:1614: memset( pxNewTCB->pxStack, tskSTACK_FILL_BYTE, usStackDepth * sizeof( portSTACK_TYPE ) );
	mov	dpl,r7
	mov	dph,r2
	mov	b,r3
	lcall	__gptrget
	mov	r7,a
	inc	dptr
	lcall	__gptrget
	mov	r2,a
	inc	dptr
	lcall	__gptrget
	mov	r3,a
	mov	r0,_bp
	inc	r0
	mov	a,@r0
	push	acc
	inc	r0
	mov	a,@r0
	push	acc
	mov	a,#0xA5
	push	acc
	mov	dpl,r7
	mov	dph,r2
	mov	b,r3
	lcall	_memset
	dec	sp
	dec	sp
	dec	sp
00105$:
;	../../FreeRTOS/Source/tasks.c:1618: return pxNewTCB;
	mov	r0,_bp
	inc	r0
	inc	r0
	inc	r0
	mov	dpl,@r0
	inc	r0
	mov	dph,@r0
	inc	r0
	mov	b,@r0
	mov	sp,_bp
	pop	_bp
	ret
;------------------------------------------------------------
;Allocation info for local variables in function 'prvDeleteTCB'
;------------------------------------------------------------
;pxTCB                     Allocated to registers r2 r3 r4 
;------------------------------------------------------------
;	../../FreeRTOS/Source/tasks.c:1667: static void prvDeleteTCB( tskTCB *pxTCB )
;	-----------------------------------------
;	 function prvDeleteTCB
;	-----------------------------------------
_prvDeleteTCB:
	mov	r2,dpl
	mov	r3,dph
	mov	r4,b
;	../../FreeRTOS/Source/tasks.c:1671: vPortFree( pxTCB->pxStack );
	mov	a,#0x20
	add	a,r2
	mov	r5,a
	clr	a
	addc	a,r3
	mov	r6,a
	mov	ar7,r4
	mov	dpl,r5
	mov	dph,r6
	mov	b,r7
	lcall	__gptrget
	mov	r5,a
	inc	dptr
	lcall	__gptrget
	mov	r6,a
	inc	dptr
	lcall	__gptrget
	mov	r7,a
	mov	dpl,r5
	mov	dph,r6
	mov	b,r7
	push	ar2
	push	ar3
	push	ar4
	lcall	_vPortFree
	pop	ar4
	pop	ar3
	pop	ar2
;	../../FreeRTOS/Source/tasks.c:1672: vPortFree( pxTCB );
	mov	dpl,r2
	mov	dph,r3
	mov	b,r4
	ljmp	_vPortFree
	.area CSEG    (CODE)
	.area CONST   (CODE)
__str_0:
	.ascii "IDLE"
	.db 0x00
	.area XINIT   (CODE)
__xinit__pxCurrentTCB:
; generic printIvalPtr
	.byte #0x00,#0x00,#0x00
__xinit__uxTasksDeleted:
	.db #0x00
__xinit__uxCurrentNumberOfTasks:
	.db #0x00
__xinit__xTickCount:
	.byte #0x00,#0x00
__xinit__uxTopUsedPriority:
	.db #0x00
__xinit__uxTopReadyPriority:
	.db #0x00
__xinit__xSchedulerRunning:
	.db #0x00
__xinit__uxSchedulerSuspended:
	.db #0x00
__xinit__uxMissedTicks:
	.db #0x00
__xinit__xMissedYield:
	.db #0x00
	.area CABS    (ABS,CODE)
